BiTNode和*BiTree的理解
1024程序员节日快乐 💯💯💯💯
目前正在考研,时间紧任务重,为了庆祝节日,发一篇博客吧。
本文阐述了我对BiTNode和*BiTree的简单理解的简单理解
1.声明一个结构体
typedef struct XXXBiTNode{
int data;
struct XXXBiTNode *lchild,*rchild;
}BiTNode,*BiTree;//二叉树结点结构
2.关于BiTNode和*BiTree的理解
typedef 是起一个别名的意思
在这里BiTNode实际上相当于struct XXXBiTNode
在结构体定义时:
struct XXXBiTNode varName来定义变量,
但要注意,使用XXXBiTNode varName来定义变量是不对的
因为struct和XXXBiTNode合在一起才能表示一个结构类型。
我们需要用typedef来起一个别名
使得BiTNode相当于struct XXXBiTNode,这样我们就可以使用BiTNode varName来定义变量。
同理:
struct XXXBiTNode *BiTree 将 struct XXXBiTNode *这个类型重命名为BiTree(BiTree被定义成了结构体地址类型)
当采用BiTree再定义指针时候:BiTree *root其本质就是struct XXXBiTNode **root
此时root是一个二级指针,二级指针变量root指向一级指针变量BiTree,并保存BiTree的地址
3.其他理解
在分配空间时:
一个指针节点需要的空间大小与BiTNode的大小和结构体内部结构有关。
因此分配空间的时候采用*root=(BiTNode *) malloc(sizeof (BiTNode));
分配一片大小为BiTNode的连续内存空间,然后返回首地址,root就指向这个地址。
root相当于门牌号,那么*就是家里的钥匙。
*root就是我打开地址为root的门(回家),开门之后我们才能看到家里的好吃的(取数据)。
因此*root才能进行赋值等操作,开门之后才能对家里的东西进行操作。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcifae
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01