c++中有引用而c语言中没有,在写int这种类型时还想得起来用指针实现函数调用改变主调函数中变量值的事,当想改变的变成指针时就忘掉了,应该用二级指针实现“引用”一级指针的效果。
主调函数中 int *指针p 传入被调函数后 如果p=...,实际p并没有改变
而应该是传入int ** ,&p 改变时*p=...,这时主调函数中p就改变了
void CreateBiTree(BiTree **bitree,int i)//初始的时候输入i=0;
{
//i++;
//if(i==3||i==4||i==8||i==10||i==11||i==13||i==14||i==15)
//bitree=NULL;
//先序建树
int num;
printf("input");
scanf("%d",&num);
if(num==0)
*bitree=NULL;
else
{
(*bitree)=(BiTree *)malloc(sizeof(BiTree));
(*bitree)->e=num;
CreateBiTree(&((*bitree)->lchild),i);
CreateBiTree(&((*bitree)->rchild),i);
}
}
本文探讨了C++中的引用特性以及如何在C语言中通过二级指针来模拟引用的功能。在C++中,引用提供了一种安全地改变函数参数的方式,而在C语言中,可以通过传递指针的指针来达到类似的效果。示例代码展示了如何使用二级指针创建二叉树,从而在主调函数中改变指针的值。

2023

被折叠的 条评论
为什么被折叠?



