可能重复:
零长度数组与指针
一些新的编译器会为以下情况抛出编译错误
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);
某些新编译器强制执行此限制的任何原因?
编辑以纠正错误