@TOC
前言
之前我们讲了指针数组,今天讲一下数组指针。
一、数组与指针的概述:
数组指针就是数组的指针,就是指向数组的指针。
- int a [5] = {1,2,3,4,5}; / / 定义一个数组
- int *p = &a[0]; / / 定义一个指针指向数组的首地址,由于 数组的首地址就是数组名,所以&a[0]==a; 则可写为 int * p = a;
- 则此时的指针 p 就是数组指针。
二、数组指针遍历数组:
因为 指针 p 指向 数组的首地址,则可以通过地址遍历数组的元素。
- 前面我们讲过指针的偏移,又因为 p 指向数组可得到:
p+0 == &a[0];
p+1 == &a[1]; p+2 == &a[2]; p+3 == &a[3]; p+4 == &a[4]; - a[0] == *&a[0] == *(p+0) == *p; a[1] == *&a[1] == *(p+1) == *p; a[2] == *&a[2] == *(p+2) == *p; a[3] == *&a[3] == *(p+3) == *p; a[4] == *&a[4] == *(p+4) == *p;
三、数组指针遍历数组元素的应用:
注意: 1.* (p+i)一定要加小括号,因为* 的优先级低于 + 。
总结
指针数组和数组指针一定要好好理解,不要搞混淆。
标签:遍历,语言,指向,int,地址,数组,指针 From: https://blog.51cto.com/u_16159289/8906655