多语言展示
当前在线:1030今日阅读:126今日分享:42

使用指针变量引用数组元素应注意的问题

在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

注意事项

如果觉得对你有帮助请点赞

推荐信息