以下のコードのようなものは有効ですか?
struct foo {
int a;
int b[];
};
struct bar {
int c;
struct foo d;
};
struct bar *x = malloc(sizeof(struct bar) + sizeof(int [128]));
私には問題ないように思えますが、私がそうしてもコンパイラは文句を言わないので、私は少し懐疑的です:
struct bar {
struct foo d;
int c;
};