结构体嵌套的理解

在学习数据结构时,常常会用到结构体如`structNode`来表示节点,其中包含一个`next`指针。尽管结构体定义未完成,但编译器能识别`structNode*`并为其分配地址,因为它知道`Node`是正在定义的结构体类型。这种定义方式允许我们创建链式数据结构,如链表。
摘要由CSDN通过智能技术生成

在学习数据结构的时候经常会自行定义结构体当作节点,具体代码为:
struct Node{
int data;
strcut Node* next;
}
刚开始会疑惑为什么Node结构体还没定义完整,却要在结构体内部再次使用结构体定义一个指针变量?

个人理解是:
1.在程序进行编译的时候,编译器遇到struct Node就已经自动为该结构体对应的指针分配地址(编译器已经识别到Node是个结构体了)。
2.struct Node* next是一个同类型的结构体对应指针,这里只能进行指针定义,而不是结构体定义,因为指针有固定的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值