学习心得:C语言,在形参中的引用类型,使用GCC编译不通过的两种办法


char CLinkListDelete(CircularLinkList &CL){  //删除表尾元素
    if(CL->next == CL)
        {
            printf("List is EMPTY!\n");
            return 0;
        }
    else
        {
            CircularLinkList p=CL->next;
            char e;
            e=CL->data;
            while(p->next != CL){p=p->next;}//寻找尾指针前一个位置
            p->next=CL->next;
            free(CL);
            CL=p;
            CL->next->data--;
            return e;
        }
}


第一种方法:使用C++的编译器

第二种方法:用指针解决,改为:

char CLinkListDelete(CircularLinkList *CL){  //删除表尾元素
    if((*CL)->next == *CL)
        {
            printf("List is EMPTY!\n");
            return 0;
        }
    else
        {
            CircularLinkList p=(*CL)->next;
            char e;
            e=(*CL)->data;
            while(p->next != *CL){p=p->next;}//寻找尾指针前一个位置
            p->next=(*CL)->next;
            free(*CL);
            *CL=p;
            (*CL)->next->data--;
            return e;
        }
}

————————————————
版权声明:本文为CSDN博主「NoodleUtopia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wudifei55/article/details/39756359

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值