Previous: 構造体の中の構造体
Up: 構造体の中の構造体
Next: 構造体同士の参照
Previous Page: 構造体の中の構造体
Next Page: 構造体同士の参照

構造体からの構造体の参照

構造体のメンバーには、構造体を含める事もできる。その際に注意することは、 含まれる構造体は既に宣言されていなければならない点である。

例3
        struct point {
            int x;
            int y;
        };

struct item { struct point xy; int flag; };

struct item ken;

この例では、最初の宣言で、実数2個をメンバーに持つ point という構造体を 宣言し、次に、その構造体 point をメンバーに含む item という構造体を 宣言し、最後に、構造体 item 型の構造体変数 ken を確保している。 この場合、 ken のメンバー flag は今までと同じようにして、次のように アクセスできる。

ken.flag = 1;
しかし、メンバー xy は、実際には構造体なので、そのままではアクセス出 来ない(一括代入は可能)。アクセスするには、メンバー xy のメンバー x, y にアクセスする。これには、次のようにする。

ken.xy.x = 0;
        ken.xy.y = 0;

つまり、 ken.xy は、構造体 point 型であることに注意しなければ ならないのである。

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