Q: Why doesn't
struct x { ... }; x thestruct;work?
A: C is not C++. Typedef names are not automatically generated for structure tags. Either declare structure instances using the struct keyword:
struct x thestruct;or declare a typedef when you declare a structure:
typedef struct { ... } x; x thestruct;See also questions 1.14 and 2.1.