淘先锋技术网

首页 1 2 3 4 5 6 7

怎么用指针访问数组元素?

指针是C语言中很重要的一部分内容,可以说是C语言的精髓,但是指针在初学的时候确实比较难理解,尤其是与数组混在一起之后,很容易搞混淆。下面讲解一下指针如何访问数组,及注意事项。

首先看几张图。

上图中,定义了一个int型数组,有4个元素,定义了指针变量p。p=&a[0]的意思是将首元素的地址赋值给指针变量。

p=a的意思是将首元素的地址赋值给指针变量。

*p=a的意思是将首元素的地址赋值给指针变量,在声明的时候完成了赋值。

由以上可以看出,p=&a[0],p=a,*p=a 三者的含义是一致的。

数组名a代表的就是数组地址,所以p=&a[0],p=a,二者是等价的。

声明时赋初值:

int *p=&a[0] 和 int *p=a是一致的。

通过指针引用数组元素时:a[1]=*(p+1)。

必须要注意的是:

a:数组首元素的地址(每个元素都是int类型)。

a+2:数组的第3个元素的地址。

* (a+2):数组的第3个元素的地址。

采用指针访问数组时速度要快于直接访问数组的下标,所以指针的效率要比数组高很多。

以上就是这个问题的回答,感谢留言、评论、转发。

更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。

php获取数组下标,怎么用指针访问数组元素