数据结构,void split中有的用*有的用*&,为什么,什么时候才要多加这个取址符号&? 50

数据结构,voidsplit中有的用*有的用*&,为什么,什么时候才要多加这个取址符号&?voidsplit(lklist*head,lklist*&ha,lklist*... 数据结构,void split中有的用*有的用*&,为什么,什么时候才要多加这个取址符号&?void split(lklist *head,lklist *&ha,lklist *&hb,lklist *&hc)
1.   设单链表中有仅三类字符的数据元素(大写字母、数字和其它字符),要求利用原单链表中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。
typedef char datatype;
typedef struct node {datatype data; struct node *next;}lklist;
void split(lklist *head,lklist *&ha,lklist *&hb,lklist *&hc)
{
   lklist *p; ha=0,hb=0,hc=0;
   for(p=head;p!=0;p=head)
   {
    head=p->next; p->next=0;
    if (p->data>='A' && p->data<='Z') {p->next=ha; ha=p;}
    else if (p->data>='0' && p->data<='9') {p->next=hb; hb=p;} else {p->next=hc; hc=p;}
   }
}
展开
 我来答
chiconysun
2016-12-11 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2613万
展开全部
这个&不是取地址,是C++ 的引用意思,也就是别名,函数体内需要修改指针类型形参时用,如果纯粹用C语言,则要用指针的指针(二重指针)做形参了
lklist *&hc 的意思是lklist 指针类型的引用hc
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式