comp.lang.c FAQ list
·
Question 2.1

Q:
What's the difference between
these two declarations?

struct x1 { ... };
typedef struct { ... } x2;

A:
The first form declares a structure tag;
the second declares a typedef.
The
main
difference is
that
the second declaration is of a slightly more abstract
type--its
users don't necessarily know that it is a structure,
and
the keyword struct is
not used when declaring instances of
it:

x2 b;

Structures declared with
tags,
on the other hand,
must be defined with the