Previous: 構造体同士の参照
Up: 構造体の中の構造体
Previous Page: 構造体同士の参照
Next Page: 構造体の配列
構造体を同じ名前で宣言した場合、先に宣言された方は見えなくなる。これは、 外部変数とローカル変数の関係に良く似ている。
例4 struct Test { int zenki; int kouki; };main(){ struct Test { char name[30]; int zenki; int kouki; }; struct seiseki{ struct Test test; int shusseki; }; ... }
上の例では、 main 関数の外で構造体 Test を宣言しているが、同じ 名前の構造体を main 関数の中で宣言している。この場合、 main 関数 の外にある方の構造体宣言は、内部の宣言によって隠されて見えなくなる。これを、 隠蔽という。従って、構造体 seiseki のメンバー struct Test test は、直前の構造体 Test の宣言に従うので、メンバー name[], zenki, kouki を持つことになる。