タグなしの構造体と typedef
構造体:インデックス への移動
構造体のタグを省略すると,タグなしの構造体が得られます。タグなしの構造体は,カンマで区切られた構造体識別子リスト中の識別子を与えられた構造体型(あるいはその派生型)として宣言するために使用することができます。ただし,ほかの場所で同じ型のオブジェクトの宣言を追加することはできません。
struct { ... } s, *ps, arrs[10]; // タグなしの構造体
構造体の宣言中に,タグ付きでもタグなしでも typedef を宣言できます。
typedef struct mystruct { ... } MYSTRUCT;
MYSTRUCT s, *ps, arrs[10]; // struct mystruct s などと同じ
typedef struct { ... } YRSTRUCT; // タグなし
YRSTRUCT y, *yp, arry[20];
普通はタグも typedef も必要ありません。これらは両方とも構造体宣言内で使用することができます。
タグなしの構造体と共用体メンバーは初期化では無視されます。