这段代码中CreateBiTree函数中的参数将引用符号去掉就不能运行了 *&怎么个意思?求指导!

#include<stdio.h>#include<stdlib.h>typedefstructNode//二叉树结构定义{chardata;structNode*lch... #include<stdio.h>
#include<stdlib.h>
typedef struct Node //二叉树结构定义
{
char data;
struct Node *lchild;
struct Node *rchild;
}Bitree;

void CreateBiTree(Bitree *&t) //先序遍历创建二叉树
{
char s;
scanf("%c",&s);
if(s=='#')
t=NULL;
else
{
t=(Bitree *)malloc(sizeof(Node));
t->data=s;
CreateBiTree(t->lchild);
CreateBiTree(t->rchild);
}
}
void Output(Bitree *t) //先序遍历输出二叉树
{
if(t!=NULL)
{
printf("%c",t->data);
Output(t->lchild);
Output(t->rchild);
}
}
void main()
{
Bitree *root;
printf("请以先序遍历依次为二叉树赋值:\n");
CreateBiTree(root);
printf(“输出二叉树:\n”)
Output(root);
}
展开
 我来答
chiconysun
2013-11-19 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2611万
展开全部
这个是指针的引用,也就是指针的别名,函数中的修改作用到外面的root去了
这样生成的二叉树外面的root才能操控
如果去掉&变成传值,函数如何变外面的root也不会变
追问
为什么这样才能操控。我穿进去的不是指针吗??
追答
传递进去的是指针的值,不是指针自己,函数里面虽然变了,外面自然不会一起变
因此需要用指针的引用才行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式