- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:#pragmaについて)
#pragmaについて
このQ&Aのポイント
- C言語のプログラムで、構造体1と構造体2の違いによりエラーが発生する原因について教えてください。
- ソースコード上でのエラーが発生している原因は、構造体1と構造体2のメンバーの順番が逆になっていることです。
- 構造体1と構造体2は、メンバーの順番が異なるため、ソースコード内でのアクセス方法に違いが生じます。
- みんなの回答 (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)分の有効なメモリが あるぶん助かっただけなんじゃないでしょうか?
お礼
thanks