指针相关操作 与引用比较 指向指针的指针

指针与引用详解
本文深入探讨了指针和引用的概念及其在C++中的应用。指针提供了间接访问其所指向对象的能力,通过解引用可以访问指针指向的对象。引用则总是指向某个已存在的对象,并且一经初始化就不能改变。文章还介绍了指针算术运算和指针与数组的关系。

指针提供间接操纵其所指向对象的功能。对指针进行解引用可访问它所指的对象,*操作将获取指针所指的对象。

解引用操作符返回指定对象的左值,利用这个功能可修改指针所指向对象的值。

也可以直接修改指针本身的值,是指针指向另一个新对象


使用引用和指针都可以间接访问另一个值,它们两个重要区别:1.引用总是指向某个对象:定义引用时没有初始化是错误的。

2.赋值行为的差异:给引用赋值修改的是该引用所关联的对象的值,而并不是使引用与另一个对象关联。引用一经初始化,就始终指向同一个特定对象(所以必须初始化)


指针本身也是可用指针指向的内存对象。指针占用内存空间存放其值,因此指针的存储地址可存放在指针中。

C++使用**操作符指派一个指针指向另一个指针。

为了真正访问到对象,必须对指针进行两次解引用。


C++中,指针和数组密切相关,特别在表达式中使用数组名时,该名字会自动转换为指向数组的第一个元素的指针。

如果希望使指针指向数组中的另一个元素,则可使用下标操作符给某个元素定位,然后用取地址操作&获取该元素的存储地址。  eg:ip = &ia[4];

与其使用下标操作,不如通过指针的算术操作来获取指定内容的存储地址。

指针的算术操作和迭代器的算术操作以相同的方式实现(也具有相同的约束)。

使用指针的算术操作在指向数组某个元素的指针上加减一个整型数值,就可以计算出指向数组另一个元素的指针值。

通常,在指针上加减一个整型值n等效于获得一个新指针,该新指针指向指针原来指向元素之后或前的第n个元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值