私はsizeof()
Cでの出力について混乱しています.私が持っているとしましょう:
struct foo {
char a;
char b;
char c;
char d[0];
};
4になるはずですがsizeof(struct foo)
、gcc でコンパイルすると 3 が返されます。また、厳密な設定-pedantic-errors
でコードをコンパイルすると、コンパイル エラーが発生します。
誰かがこの動作を理解するのを手伝ってくれますか?
私はsizeof()
Cでの出力について混乱しています.私が持っているとしましょう:
struct foo {
char a;
char b;
char c;
char d[0];
};
4になるはずですがsizeof(struct foo)
、gcc でコンパイルすると 3 が返されます。また、厳密な設定-pedantic-errors
でコードをコンパイルすると、コンパイル エラーが発生します。
誰かがこの動作を理解するのを手伝ってくれますか?