- 392 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:42:56 ]
- 構造体は、struct タグ名 で宣言するが
これで宣言したのはタグ付きの構造体の中身であって、 型として認められていない。 ここでtypedef を用いると、「SomeStruct型の構造体である」ことを認めさせることになる。 typedefを使わないと、 struct SomeStruct MyStruct; と別に一行必要になり。これでようやくSomeStruct型の構造体と認められるわけだ つまり、構造体の「型宣言」と同時に「構造体として使えるように名前もつけてしまおう」という横着した手法なだけだ。 構造体は、述べたように最初の段階では使用できる構造体として認められない。 必ず、「SomeStruct型の構造を持つ○○」という名前をつけてやらなければ使用できない。 だからtypedefで型と名前を同時に決めることもよくある話。
|

|