c语言没有引用造成的麻烦

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);
    }

    
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值