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 を持つことになる。