型定義を使って、構造体変数の宣言を簡略化する方法を説明します。
例えば、以下の構造体testがあったとします。
struct test{
int a;
int b;
char c[5];
};
以下のソースコードにより、構造体testを持った構造体変数の宣言を簡略化できます。struct_testの部分は、任意の名前が付けられます。
typedef struct test struct_test;
上記のように型定義すると、構造体testを持った構造体変数sの宣言は、以下のように行えます。
struct_test s;
以下の方法でも構造体変数の宣言を簡略化できます。
どれを使ってもstruct_test s;で上記の構造体を持った構造体変数sを宣言できます。
typedef struct test{
int a;
int b;
char c[5];
} struct_test;
構造体を定義する際に型定義する方法です。
typedef struct{
int a;
int b;
char c[5];
} struct_test;
testの部分を省略したものです。この場合、testの代わりに、コンパイラが適当な文字列を生成します。
typedef struct struct_test{
int a;
int b;
char c[5];
} struct_test;
構造体の名前と新たに付ける名前を同じものにすることもできます。