首先,指针是一个地址。
数组指针:数组的开始地址
数组元素的指针:数组元素的地址
定义
int a[3];
a[0] = 1; a[1] = 2; a[2] = 3;
int *p = &a[0]; //指针p 指向数组第0号元素
引用
在此, p 指向数组首元素 a[0]
*p = 10; // a[0] = 10
p = p + 1; // 增加了4个字节长度,因为数组存放的是整型变量
// p + i 和 a + i 都是地址
p = p + 2;
*p = 20; // a[2] = 20
p = a + 2;
*p = 20; // a[2] = 20
*(p + i); //或者 *(a + i);
*(p + 1) = 30; // a[1] = 30
//p[i] 和 *(p + i) 和 a[i] 等价
*p++; //先用后加 相当于 a[0]
*++p; //先加后用 相当于 a[1]
(*p)++; // 等价于 a[0]++ ,也就是数组元素 +1