Namenlose Strukturen und Typdefinitionen
Nach oben zu Strukturen - Index
Wenn man den Tag-Namen einer Struktur weglässt, erhält man eine unbenannte Struktur. Sie können unbenannte Strukturen benutzen, um die durch Komma voneinander getrennten Bezeichner in der struct-Bezeichnerliste mit dem angegebenen (oder von ihm abgeleiteten) Strukturtyp zu deklarieren. Zusätzliche Objekte dieses Typs können Sie nirgendwo sonst deklarieren:
struct { ... } s, *ps, arrs[10]; // Struktur ohne "Tag"
Beim Deklarieren einer Struktur können Sie ein typedef mit oder ohne Tag-Namen erzeugen:
typedef struct mystruct { ... } MYSTRUCT;
MYSTRUCT s, *ps, arrs[10]; // entspricht struct mystruct s, etc.
typedef struct { ... } YRSTRUCT; // kein "Tag"
YRSTRUCT y, *yp, arry[20];
In den meisten Fällen benötigen Sie nicht beides, Tag und typedef: eines von beiden kann in Strukturdeklarationen benutzt werden.
Unbenannte Struktur- und Variantenelemente werden bei der Initialisierung ignoriert.