重複の可能性:
長さゼロの配列とポインター
一部の新しいコンパイラは、以下の場合にコンパイル エラーをスローします
struct test {
int length;
char data[0];
};
int main(void)
{
char string[20] = {0};
struct test *t;
//Some code
memcpy(string, t->data, 19); //Compilation error
}
しかし、私がこれを好きなら、これは解決されます。
memcpy(string, &(t->data[0]), 19);
一部の新しいコンパイラがこの制限を強制している理由は何ですか?
間違いを修正するために編集されました