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

maruyama@wakhok.ac.jp
1995年02月08日 (水) 18時57分57秒 JST