Namenlose Strukturen und Typdefinitionen

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

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.