C/C++的指针和引用

本文详细阐述了C/C++中的引用和指针概念,解释了引用作为别名的作用及其与指针的异同。讨论了引用的创建、初始化规则以及与指针在操作、安全性等方面的区别。提供了实例演示引用和指针的直接访问与间接访问方式,帮助读者深入理解两者在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C/C++中的引用和指针

引用又称 别名,它可以最为对象的一个名字,但它既不是对象的指针,也不是对象的副本。
通过引用可以间接地操作对象,使用方式类似于指针,但不需要指针的语法。
使用规则:
1> 引用被创建的同时必须被初始化,(指针可以在任何时候被初始化
int a = 12;
int &b = a;//正确
int &c;//错误
2> 一旦引用被初始化,就不能改变引用的关系(指针可以随时改变所指的对象)
3> 引用的所有操作实际上都是应用在它所指的对象身上,包括取址操作符
4> 不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)
直接访问:按变量地址存取变量值
间接访问:通过变量地址的的变量去访问变量
指针:指针就是它的值表示内存地址的变量
如果两个指针都指向同一个数组中的元素,它们之间可以相减。
任何指针之间都可以进行比较,测试它们相等或不相等。
指针和引用的异同
相同点:
都是地址的概念,指针所指向的一块内存,它的内容是所指内存的地址,而引用则是某块内存的别名。
不同点:
1> 指针是一个实体,而引用是个别名
2> 引用只能在定义时初始化一次,之后不可改变,指针则可以;引用“从一而终”,指针“见异思迁“
3> 引用没有const,指针有const,有const的指针不可改变
4> 引用不可为空,而指针可以为空
5> Sizeof引用得到的是所指变量(对象)的大小,而sizeof得到的是指针本身的大小
6> 指针和引用的自增(++)运算意义不一样
7> 引用是类型安全的,而指针不是(引用比指针多了类型检查)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值