リストで何度も使ってきたように、構造体で新しい型を定義することが できる。つまり、
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命令によりそのモジュール中に取り込めば良い。