4

私はsizeof()Cでの出力について混乱しています.私が持っているとしましょう:

struct foo {
    char a;
    char b;
    char c;
    char d[0];
};

4になるはずですがsizeof(struct foo)、gcc でコンパイルすると 3 が返されます。また、厳密な設定-pedantic-errorsでコードをコンパイルすると、コンパイル エラーが発生します。

誰かがこの動作を理解するのを手伝ってくれますか?

4

2 に答える 2