18.5 まとめ

構造体
構造体の宣言

        struct  [タグ名]{
            型  メンバー名 m1;
            型  メンバー名 m2;
            ...
            型  メンバー名 mn;
        } [変数名,[...]];

タグ名は省略可能であるが、省略すると後で再利用することは不可能であるので省略 しないほうが良い。構造体の詳細をコンパイラーに伝える部分は } までで終わるが、 ここまでだけでは、実際の構造体変数は確保されない点に注意する必要がある。 } の後ろに変数名を書いて、初めて、構造体変数が確保される。

メンバー
構造体のメンバーへのアクセス

確保された構造体変数のメンバー(要素)へのアクセスは、選択演算子 . を 用いて、タグ名.メンバー名で出来る。

例
        struct  pen{
            char color;
            int  hutosa;
        } pen1;
        ...
        pen1.color = 'b';
        pen1.hutosa= 2;

演算
構造体に許される演算

構造体そのものに許される演算は、一括代入、メンバーへのアクセス、アドレス 演算の 3 つのみである。 また、構造体の中に配列が含まれる場合でも、同じ構造体同士では一括代入が 許される。

初期化

構造体では常に初期化が許される。この点で、配列とは違う点に注意しなければ ならない。

例
        struct  pen  pen1 = {'b', 2};

初期化のときの、各メンバーへの代入は、メンバーの宣言時の並び順に初期化される ので、メンバーの型に応じた値で初期化することを忘れてはならない。



最初のページ 戻る 次へ 最後のページ 目次
Hiroyasu Asami