以下内容是什么意思?
struct foo
{
...
char bar[0]; // Zero size???
};
我问了我的同事,他们告诉我这与写void* bar
是一样的。
据我所知,C指针只是一个4字节的变量(至少在32位机器上)。编译器如何知道bar [0]是一个指针(因此长度为4个字节)?这只是语法糖吗?