在学习数据结构的时候经常会自行定义结构体当作节点,具体代码为:
struct Node{
int data;
strcut Node* next;
}
刚开始会疑惑为什么Node结构体还没定义完整,却要在结构体内部再次使用结构体定义一个指针变量?
个人理解是:
1.在程序进行编译的时候,编译器遇到struct Node就已经自动为该结构体对应的指针分配地址(编译器已经识别到Node是个结构体了)。
2.struct Node* next是一个同类型的结构体对应指针,这里只能进行指针定义,而不是结构体定义,因为指针有固定的地址。