在C语言中,用指针变量引用数组元素时,有一些容易出错的问题,下面我们详细介绍一下几种情况。
工具/原料
假设有一个数组为 a[ ],一个指针变量是 p。
情况如下:
1
数组名是常量不能进行自加自减运算,因为数组名代表的书数组的首地址,是不变的。p是一个指针变量,可以指向数组中的任何一个元素。
2
对于整型数组a来说,a++,和++a是不能实现的,因为不能对常量进行自加自减运算,只能对变量进行自加自减运算。
3
若指针变量p指向a的元素a[0],要区分以下情况:(1)p++:相当于p=p+1。使得p指向下一个元素a[1],则*p为元素a[1]的值;
4
(2)*p++:结合方向为自右至左因此等价于*(p++)。先得到p所指向的值*p,在进行p++运算;
5
(3)*(p++)与*(++p)作用不同,前者是先取*p的值,然后使p自加1,相当于*p++,后者是先使p自加1,再取*p的值。
6
(4)(*p)++:表示p所指向的元素值自加1;
7
(5)如果p当前指向a数组中第i个元素,即p=&a[i]。则有如下关系:1) *(p--),相当于a[i--],先对p进行*运算,再使p自减。2) *(++p),相当于a[++i],先使p自加,再作*运算END
注意事项
如果觉得对你有帮助请点赞
上一篇:女性六项激素测定的正常值及意义
下一篇:C语言里的指针到底是什么?