一、用指针指向一维数组的元素
// 定义一个int类型的数组
int a[2];
// 定义一个int类型的指针
int *p;
// 让指针指向数组的第0个元素
p = &a[0];
// 修改所指向元素的值
*p = 10;
// 打印第一个元素的值
printf("a[0] = %d", a[0]);
输出结果:
,说明已经通过指针间接修改了数组元素的值,跟指向一个普通int类型变量是一样的。
由于数组名代表着数组的首地址,即a == &a[0],因此第8行代码等价于:
// 让指针指向数组的第0个元素
p = a;
内存分析图如下,一个指针变量占用2个字节,一个int类型的数组元素占用2个字节
二、用指针遍历数组元素
1.最普通的遍历方式是用数组下标来遍历元素
// 定义一个int类型的数组
int a[4] = {1, 2, 3, 4}