为什么我不能这样做:
typedef struct _word{
struct _word ws[ 28 ];
}Word;
使用上面的代码我会得到错误:字段' ws'有不完整的类型。
为什么我能做到这一点:
typedef struct _word{
struct _word *wr[ 28 ];
}Word;
我想要静态内存。
答案 0 :(得分:3)
因为如果未完全定义结构,则无法计算要分配的对象的大小。正如其他人所提到的那样,试图推断出对象的大小是无限的回归。
但是你总是可以计算指针的大小。因此第二个版本有效。