代码如下:
#include <stdio.h>
struct list {
struct t *next;
int i;
};
int main(void)
{
struct list l;
printf("len = %lu.n", sizeof(l));
return 0;
}
上面的list类型中next成员的类型是struct t,但是struct t是未定义的,但是上面的代码编译是可以通过的,并且不会报警告。如果将其中的星号去掉,或者引用list类型中的i、或next成员时会报错