在学习链表的时候,常出现的定义表达形式为:
typedef struct aaa
{
int i;
struct aaa* next;
}AAA;
我的疑问是,为什么在结构体内,结构体aaa还没有定义好,而就在其内部使用呢?不是说先定义后使用的吗?后来经过网上查找有一种这样的解释:”这时aaa这个类型可以使用,但是个不完全类型,只能以有限方式使用,不能定义该类型的对象,不完全类型只能用于定义指向该类型的指针及引用.
如果这样用就不对了:
typedef
struct
aaa
{
int
i;
struct
aaa next;
}AAA;
这种讲法也不能说出它错在哪,目前只能先这么理解着。