K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>すばらしい。 typedef を使っているあたりが素敵すぎる。 >というわけで第三者読者へのふぉろーを追加。 > >typedef は新しい型を作るのではなくて、既存の型への別名を作る。 >提示の例だと名前のない構造体(便宜上 anonymous_struct_1 と名づける) >struct anonymous_struct_1 { int val; }; >に対して、別名1 KOUZOU1 別名2 KOUZOU2 をつけているだけ。 >なので KOUZOU1 と KOUZOU2 はどちらも struct anonymous_struct_1 であり、 >関数宣言のほうもエラーにならない。 > >typedef struct { int x; } KOUZOU1, *PKOUZOU2; >KOUZOU1 *func(); >PKOUZOU2 func(); >int main() { return 0; } >これもエラーにならない。 > >一方で KOUZOU3 は struct anonymous_struct_2 { int val; }; の別名になるので >これは KOUZOU1, 2 とは別のものになり、宣言が矛盾するエラー。
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!