指针和数组的关系是比较高级的内容,他分为指针和一维数组的关系,指针和一维数组的关系。其中前者是重点,而且更复杂一点。我们主要掌握指针和一维数组的关系。二维数组本身就用的比较少,指针和二维数组的关系用得就更少了。指针和二维数组的关系我们后面会讲到,但是不是重点。
用指针引用数组元素
引用数组元素可以用“下标法”,这个在前面已经讲过了,也用过了,但是除了这种方法之外还可以使用指针,即通过指向某一个元素的指针变量来引用数组元素。数组包含若干种元素,元素就是变量,变量都有地址。所以每一个数组在内存中都占用存储单元,都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素。同样,数组的类型和指针变量的基类型一定要相同
#include<stdio.h>
int main(void)
{
int a[] = {1, 2, 3, 4, 5};
int *p = &a[0];
int *q = a;
printf("*p = %d, *q = %d\n", *p, *q);
return 0;
}
程序中定义了一个一维数组 a,他有