リストで何度も使ってきたように、構造体で新しい型を定義することが できる。つまり、
struct List { struct List *next; void *data; }; |
という構造体の定義は、新しい struct List
型という型を作っている事に
なる訳であるのだが、表現方法としては int
などに対して、
struct List
と書くのは型という感じがしないかも知れない。
また、キーボードをタイプする字数も多いだろう。そこで、この
struct List
を省略して書く方法が用意されている。
このための新しい宣言が typedef で、上の構造体の定義に対して、
typedef struct List LIST; |
LIST
が定義される。以降は、
struct List
の代わりに LIST
が使えるようになる。
LIST *new; |
なお、2度に分けて書かずに以下のように一度に書くことも出来る。
typedef struct List { struct List *next; void *data; } LIST; |
LIST
は変数名ではなく、新しい型の名前であることに
注意しなければならない。
当然、別のモジュールで使うためには、これらの定義をヘッダーファイルに
含めて、#include
命令によりそのモジュール中に取り込めば良い。