c语言数组指针的调用
时间: 2024-04-22 12:17:35 浏览: 107
数组指针是指向数组的指针,通常用于访问二维数组。在C语言中,数组名是数组首元素的地址,因此可以用指向数组首元素的指针来访问数组。对于一维数组,可以用一个指针变量来指向数组的首地址,然后通过指针变量加上偏移量来访问数组的元素。对于二维数组,可以用一个指向数组的指针来访问数组的元素,这个指针指向的是一个一维数组,通过指针变量加上偏移量来访问二维数组的元素。
下面是一个例子,演示了如何使用数组指针来访问二维数组:
```c
#include <stdio.h>
int main(void) {
int i, j;
int array[3][2] = { {0,1}, {2,3}, {4,5} };
int (*p)[2] = array; // 定义一个数组指针并指向二维数组的首地址
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
printf("array[%d][%d] = %d, ", i, j, array[i][j]);
printf("*(p[%d] + %d) = %d, ", i, j, *(p[i] + j));
printf("*(p + %d)[%d] = %d\n", i, j, *(p + i)[j]);
}
}
return 0;
}
```
输出结果为:
```
array[0][0] = 0, *(p[0] + 0) = 0, *(p + 0)[0] = 0
array[0][1] = 1, *(p[0] + 1) = 1, *(p + 0)[1] = 1
array[1][0] = 2, *(p[1] + 0) = 2, *(p + 1)[0] = 2
array[1][1] = 3, *(p[1] + 1) = 3, *(p + 1)[1] = 3
array[2][0] = 4, *(p[2] + 0) = 4, *(p + 2)[0] = 4
array[2][1] = 5, *(p[2] + 1) = 5, *(p + 2)[1] = 5
```
阅读全文