小白对于C语言引用&的理解

我当时只会C语言,在我理解&就是取地址符号。但是严蔚敏老师书中一些什么 Linklist &L彻底把我弄疯了。后来学了C++,才了解&的含义。下边就简单说一下。
一、什么是引用&
引用的另一个说法就是别名。相当于换了个名字。假如你叫张三,那么你换了个名字叫张不二,但你还是你。张三和张不二只是同一个你的不同名字。为什么我这么强调是同一个你呢。看一个简单地c语言代码
int a = 5;
int b = a;
b = 3;
请问这个时候a等于多少?
想都不用想,a还是等于5.因为这时候b只是借用了你的名字。假如另一个人觉得张三这个名字挺不错的,于是他也改名叫张三跟你一样。后来他渐渐对这个名字失去了好感,他改名叫张某某了。这个时候你还是张三,不会是张某某。这个例子是这个意思
好,接下来是引用
int a = 5;
int &b = a;(注意写法,不是int b = &a,这是取地址)
b = 3;
这个时候你输出a,你会发现a也等于3.到这你就明白了什么是引用。
同样如果你在函数里定义引用的话,是会改变传入函数的值的。
二、写法
由于引用是别名,所以必须要现有一个名字,再有别名,所以对于直接定义引用的话,不能直接写
int &a;
而要写int &a = c;
c必须提前存在,但是引用在碰到函数参数的时候是个例外,比如我们学习线性表
void createLinkList(LinkList &L)
这个时候也是引用。所以一定要注意清楚,引用一般出现在等号左边,取地址一般出现在等号右边。而且如果你还弄不清的话,可以理解为,一般取地址是和指针一起使用的。引用是和普通变量一起使用的。
三、为什么要用引用
引用一是能够改变实际的值,对于createList,插入,删除等需要修改线性表的操作,是需要引用的,所以你会看到这些函数都用了引用,而一些listLength等获取线性表长度的操作,只是读取线性表信息而不会对线性表发生修改的函数,你会看到,这些地方,并没有使用引用。同时,引用使用起来比指针方便假如你写链表的话,用指针你会这么写
p->next;
用引用你会这么写
p.next;
只是简单这么一说,还要注意。如果你要使用引用,请把源文件保存为.cpp格式,并使用c++编译(大部分都默认都是的,排除一些复古系统)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值