C++的指针与引用

明确一个概念

指针是一个整数变量,存储变量的地址

pointer指针指向data变量
在这里插入图片描述
可以看到,pointer的值就是data变量在内存中的地址
在这里插入图片描述

指针类型

指针的数据类型表明他指向的内存存放的值的数据类型,这对取出指针指向的内存的值至关重要

星号*放在数据类型后面,表示后面修饰的变量是指针;
星号*放在指针的前面,表示取出指针指向的内存的值
在这里插入图片描述
可以看到,通过*pointer修改了data的值
在这里插入图片描述

指针的指针

不同的地方就在于,指针指向的内存的值是另一个指针的地址

引用

引用只存在于编码中,实质是给变量起的别名,都是同一存储位置,编译后所有的引用会变为变量本身。

由引用的本质,引出以下结论:

  • 引用不能为空
  • 引用的对象不会改变,第二次用变量给它赋值时,引用的对象不会改变,只改变引用对象的值,相当于key不变,只变了value
  • 使用const修饰引用时,引用无法修改,但原变量自身可以修改
  • 使用const修饰引用时,可以用表达式赋值引用,也可用不同数据类型的变量赋值引用

引用与取地址的区别:
&放在变量前,表示为取变量的地址;
&放在数据类型后,表示这是引用
在这里插入图片描述
可以看出,引用改变后,变量值也改变
在这里插入图片描述
因此,引用常用于函数的参数列表,代替指针的作用,更为简洁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值