结构体的声明和实例化

请问下面C程序中定义了结构体之后大括号后面的}Bitnode,*Bstree分别代表什么意思?我看了其他地方的说明,BItnode是实例化一个Bitnode类型结构体的意... 请问下面C程序中定义了结构体之后大括号后面的}Bitnode,*Bstree分别代表什么意思?我看了其他地方的说明,BItnode是实例化一个Bitnode类型结构体的意思,Bstree是实例化一个Bitnode类型指针的意思,请问这样理解正确吗?如果上面的假设是正确的话,那么又有一个问题,就是insert_key()方法里面的参数,第一个参数是Bstree *root,请问这里BStree为什么可以作为一种指针类型?Bstree在上面看来不是一个指针的实例吗?为什么可以作为一种类型?如果是想用Bitnode类型的指针的话,我觉得应该是Bitnode *root才是正确的也就像下面方法体里面的 Bitnode *father一样,才是正确的还请各位帮忙分析一下,谢谢。 展开
 我来答
wuiiao333
推荐于2018-05-10 · TA获得超过799个赞
知道小有建树答主
回答量:666
采纳率:0%
帮助的人:209万
展开全部
如果没有typedef的话,你前面的话是对的。

BItnode是实例化一个Bitnode类型结构体的意思,Bstree是实例化一个Bitnode类型指针的意思

但是有了typedef,实际是给你这个结构类型定义一个别名(另一个名称)

例如 typedef int kkk;
然后你就可以使用kkk x;//x为int类型变量

所以你typedef struct{} Bitnode,*Bstree; 是给这个结构体类型、以及结构体指针类型起别名。

Bstree *root //相当于指针的指针·`

BiTnode *p=*root //注意这里是解析指针,得到BiTnode *类型的值,也就是Bstree类型
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
timpupu
2015-11-06 · TA获得超过132个赞
知道答主
回答量:77
采纳率:100%
帮助的人:55.7万
展开全部
如你所描述:}Bitnode,*Bstree
Bitnode 和 *Bstree 之间是有一个“,”逗号的,这个逗号的意思就是说:Bitnode 和 *Bstree一样,都是类型结构体,不过后一个是指针类型而已;
就像是 int i,k; i和k都是int类型的变量,对吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rumblet
2015-11-06 · TA获得超过567个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:69.6万
展开全部
typedef表示重命名的意思 就是本来类型是struct BiTnode,现在既可以用另外一个名字BiTnode,也可以用指针类型的那个名字代替它了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式