6.2 構造体の定義

  4.typedef を使う方法
 構造体を定義する方法に "typedef" という命令を使う方法もあります。この方法は構造体に限らず既に定義済みの型に別の名前を定義するときに利用します。
例えば整数型 "int" を "seisu" という名前で定義したいときには次のようにします。
typedef int seisu;
このように定義しておくと
seisu num;
で変数 "num" を定義したとき
int num;
のように定義したときのように変数 "num" が整数型として利用できます。

 "typedef" を使うことで構造体も型として定義することができます。この節の始めに定義したアドレス帳のデータの構造体を "typedef" を使って定義し、変数 "pd_a"、"pd_b" を定義すると次のようになります。
typedef struct personal_tag {     /* 個人タグ */
   char name[10];               /* 名前 */
   char address[20];            /* 住所 */
   double phone;                /* 電話番号 */
} personal_t;                    /* 個人の型定義 */

personal_t pd_a, pd_b;            /* 個人の型の変数の定義 */
このようにすると構造体の変数を定義するときに
struct <構造体タグ> <変数名>
としていましたが、
<構造体の型名> <変数名>
で定義できるようになります。ただし注意しなければいけないのは型を定義するときに型の名前は構造体タグではなく構造体のメンバを定義した後につける名前になります。