文档开发者中心
我的

总结 | C++ 基本语法(九)


使用指针访问数组元素


1. 指针的算术操作


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


ip = ia;

int *ip2 = ip + 4;


在指针ip上加4得到一个新的指针,指向数组中ip当前指向元素后的第4个元素。


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


2. 解引用和指针算术操作之间的相互作用


在指针上加一个整型数值,其结果仍然是指针。允许在这个结果上直接进行解引用操作,而不必先把它赋给一个新指针:


int last = *(last + 4);


3. 下标和指针


在表达式中使用数组名时,实际上使用的是指向数组第一个元素的指针。使用下标访问数组时,实际上是使用下标访问指针:


int ia[] = {0, 2, 4, 6, 8};

int i = ia[0];


4. 计算数组的超出末端指针


计算数组的超出末端指针的值:


const size_t arr_size = 5;

int arr[arr_size] = {1, 2, 3, 4, 5};

int *p = arr;

int *p2 = p + arr_size;


p指向数组arr的第一个元素,在指针p上加数组长度即可计算出数组arr的超出末端指针。p加5即得p所指向的元素后面的第五个int元素的地址,p+5指向数组的超出末端的位置。


______________________________________


BY:HW-RJ

点赞
收藏
回复
13
分享
举报
浏览1438 编辑于2019-11-24 22:38未知归属地
全部评论
最多点赞
最新发布
最早发布

关联阅读:总结 | C++ 基本语法(八)

10楼回复于2019-11-25 06:54 未知归属地

还可以啊,多谢分享


13楼回复于2019-11-27 04:50 未知归属地

关联阅读:总结 | C 基本语法(十一)

12楼回复于2019-11-25 06:55 未知归属地

作者的C语言基本语法总结系列,可见下面以及链接中的各楼层~

11楼回复于2019-11-25 06:55 未知归属地

关联阅读:总结 | C++ 基本语法(七)

9楼回复于2019-11-25 06:53 未知归属地

关联阅读: 总结 | C++ 基本语法(六)

8楼回复于2019-11-25 06:53 未知归属地

关联阅读:总结 | C++ 基本语法(五)

7楼回复于2019-11-25 06:53 未知归属地

关联阅读:总结 | C++ 基本语法(四)

6楼回复于2019-11-25 06:53 未知归属地

关联阅读:总结 | C++ 基本语法(三)

5楼回复于2019-11-25 06:53 未知归属地

关联阅读:总结 | C++ 基本语法(二)

4楼回复于2019-11-25 06:53 未知归属地
共2页
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。