数据结构中 *& 表示什么意思啊?

比如说我定义一个树CreateBiTree(bitree*&root)这表示什么啊?... 比如说 我定义一个树 CreateBiTree(bitree *&root) 这表示什么啊? 展开
 我来答
xiafan1984
2006-11-22 · TA获得超过498个赞
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部
楼上的答案不尽完全

*和&是分开,*也表示指针,但进一步讲,它表示后面的root是指向bitree结构类型变量的指针。而'&'是取地址符,这个在Scanf函数中就早有体现,其意义为,传的是root指针的地址。而传参数其实传的都是值,只不过这里使用了&,表示传的值为一个地址值,以方便在CreateBiTree中直接对这棵树进行操作。
景联文科技
2024-06-11 广告
一、什么是数据标注?1. 数据标注定义数据标注是对未经处理的语音、图片、文本、视频等数据进行加工处理, 并转换为机器可识别信息的过程。原始数据一般通过数据采集获得, 随后的数据标注相当于对数据进行加工, 然后输送到人工智能算法和模型里完成调... 点击进入详情页
本回答由景联文科技提供
我花手H
2011-10-23 · TA获得超过359个赞
知道答主
回答量:15
采纳率:0%
帮助的人:11.3万
展开全部
应该是C++里的吧?没有在C语言版的数据结构中看见&吧?
在定义时,* 是一个标识符,声明该变量是一个指针,比如说int *p; 那p就是一个指向int型的指针;
在调用时,*p是指指针p指向的那个变量,比如说之前有int a=5;int *p=a;那么p的值是a的地址,也就是指针p指向a,*p则等于a的值,即*p=5。
而&,则是引用,比如说有定义int a=5;再定义int b=&a;那么这里的b则引用a的值,即b=5
,而再给b赋值:b=10,a的值也会变为10。
我想楼主会问*和&的区别,应该是针对函数定义里的参数而言吧,因为这里的这两者比较相似:
举几个简单例子:
先定义有int x=0;和int *p=x;
1、若定义函数: void fun_1(int a){ a=5;} , 则调用:fun_1(x); 之后,x还等于0;因为fun_1函数只改变了形参a的值,a只是fun_1函数里的局部变量,调用fun_1(x)相当于是“a=x;a=5;”,x没变;
2、若定义函数:void fun_2(int &a){ a=5;} , 则调用:fun_2(x); 之后,x等于5;因为这里的a引用了x的值;
3、若定义函数:void fun_3(int *a){ *a=5;} , 则调用:fun_3(p); 之后,x也等于5;因为fun_3函数的参数a是一个指针,相当于a=p;*a则与*p指向同一地址,改变*a即改变*p即x
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅气的阿凯哥哥
2006-11-22 · TA获得超过169个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:150万
展开全部
*和&是分开的吧,*表示指针,&表示的我忘记了,好象是表示整形吧
CreateBiTree(bitree *&root) 表示参数是一个指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式