typedefは、既存の型に新しい型名を付けるときに使う・・・。
typdef <元の型名> <新しい型名>
このように使う・・・。
例えば、
unsigned charという型をbyteという型として定義できる・・・。
unsigned charがなくなったわけではなく、byteという型は実際はunsigned charであるということ・・・。
このように、structから始まる構造体タグを新しい型名とする方法もよく使われる・・・。
さらに構造体は、
このように、typedefから始めることでタグ名を省略し構造体定義と同時に新しい型名定義ができる・・・。
byte, profile, detailという新しい型名だけで変数を宣言できている・・・。
$ vi typedef.c $ gcc typedef.c -o typedef $ ./typedef b = 0xab prof.name = Taro prof.age = 20 prof.address = Tokyo det.name = Jiro det.age = 18 det.address = Osaka det.phonenumber = 00000000 det.sex = 1 $
実行すると、こんな感じ・・・。