<typedef>
typedefを使うと、すでにある型に対して新しい型名をつけることができます。
typedef char * STRING;
...
STRING s1="ABCD",
s2="abcd";
上の例では、char *型にSTRINGという名前を付けています。
構造体の宣言は、structと書かなくてはならないので長くなってしまいます。構造体をtypedefしておくと、構造体の宣言や、構造体を引数や返却値にとる関数の記述を簡潔にできます。
typedef struct data_record { /*構造体data_recordを定義し、新たにそれをRECORD型として型定義 */
int
id;
int
length;
double
data[100];
} RECORD;
RECORD *create_record(void); /*
RECORD型のポインタを返す関数 */
int compare_record(const RECORD *,
const RECORD *); /* RECORD型のポインタ2つを引数にする関数 */
...
RECORD *rec, table[10]; /* RECORD型のポインタrecと、RECORD型の配列table
*/