法大奥山研究室

 previous  contents

12. 型定義 typedef


 C言語の特徴であるデータを区別するをプログラマが分かりやすい名称に定義し直すことができます。そのために用意されたキーワード(予約語)が typedef です。

■型定義(Type Definition)

typedef T my_type;

識別子my_type が型T を意味することになります。

* キーワード typedef は,便宜上,記憶域クラス指定子に含まれている。[C99, 6.7.1, 3] この結果,上は「式文」ではなく「宣言」に分類される。

次の場合,BOOLEANint を意味します。

typedef int BOOLEAN;
BOOLEAN true = 1;
BOOLEAN false = 0;

truefalseint型です。次の WEEK は要素数 7intの配列を意味します。

typedef int WEEK[7];
WEEK Jan1st = {4, 5, 6, 7, 8, 9, 10};

オブジェクト Jan1st は要素数 7int型配列です。

typedef struct list {
       int n;
       char str[20];
       struct list *next;
} LIST;

LIST *head;

LISTstruct list型を意味し,したがって,ポインタ headstruct list型へのポインタです。


 previous  contents