構造体の宣言


構造体の宣言は次のようになります。
struct 構造体タブ{
  メンバ;
  ...;
    };
メンバは、この構造体が有しているいろいろな型のデータです。具体例を示すと
struct data{
  char name[32];
  int age;
  double bl;
  double bw;                                                                              
};
データ型もさまざまですね。これを構造体のテンプレート(template)といいます。これは宣言しただけで、まだ使えません。実際に使えるようにするには、構造体タグを使って構造体変数の宣言します。

struct data man;

のように宣言します。構造体変数 man はメンバにname, age, bl, bw を持ちます。テンプレートから複製を作ったわけです。構造体の宣言するということは、見方によって新しいデータを作ったとも考えられます。
また、構造体テンプレートを宣言するのと同時に、構造体変数を宣言することもできます。
struct 構造体メンバ{
  メンバ;
  ...;
} 構造体変数1, 構造体変数2, ...; 
このように、テンプレートと変数を同時に宣言する場合、構造体タグを省略できます。
struct {
  メンバ;
  ...;
} 構造体変数1, 構造体変数2, ...; 

しかし、後から

struct 構造体タグ 構造体変数;

のように追加で変数を宣言できなくなります。

Chapte8 @ C言語目録 @ HomeWork List @ 昭亮's Homepage