• ベストアンサー

共用体のサイズをsizeofで

共用体の全体のサイズを調べようと、 printf("%u",sizeof(test)); //testは共用体の型名です としたら、コンパイルエラーが出ました。エラーの内容は「'test':定義されていない識別子です」でした。共用体のサイズはsizeofですることができると聞いたのですがどうやるのでしょう?特に共用体全体のサイズを知りたいです。回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

testではなく、union testでは? それと、sizeof演算子の評価結果はsize_t型ですので、printfの書式は"%zu"にする必要があります。 古い規格では"%zu"はサポートされませんので、(unsigned int)sizeof(...)のように適当にキャストしてください。

noname#113783
質問者

お礼

詳しい説明ありがとうございます! 独学なので知らない情報があって助かります。 回答ありがとうございました。

関連するQ&A