Previous: 標準関数 --- gets()
Up: 構造体 I
Previous Page: 標準関数 --- gets()
Next Page: 構造体 II

復習

構造体
構造体の宣言

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

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

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

確保された構造体変数のメンバー(要素)へのアクセスは、タグ名.メンバー名 で出来る。

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

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

構造体そのものに許される演算は、一括代入のみである。 また、構造体の中に配列が含まれる場合でも、同じ構造体同士では一括代入が 許される。

また、先に挙げた構造体メンバーへのアクセスも演算と見なす(選択演算子と 呼ばれる)ことも出来る。

初期化

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

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

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

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