• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:#pragmaについて)

#pragmaについて

このQ&Aのポイント
  • C言語のプログラムで、構造体1と構造体2の違いによりエラーが発生する原因について教えてください。
  • ソースコード上でのエラーが発生している原因は、構造体1と構造体2のメンバーの順番が逆になっていることです。
  • 構造体1と構造体2は、メンバーの順番が異なるため、ソースコード内でのアクセス方法に違いが生じます。

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

  • ベストアンサー
  • R32C
  • ベストアンサー率39% (115/290)
回答No.1

構造体自身が変ですね。 1でも2でもdataは可変長だとしっくりきます。 struct ST_POSTING_CHUNK { long size; ST_POSTING_CHUNK* next; unsigned char data[1]; ---> unsigned char *data; }; 1だとエラー(暴走?)するというより、2の場合に data[1] のあと、ポインタ(32bitマシンなら4byte)分の有効なメモリが あるぶん助かっただけなんじゃないでしょうか?

minidxer
質問者

お礼

thanks

関連するQ&A