C语言用指向数组的指针遍历二维数组
时间: 2023-07-20 09:25:27 浏览: 167
C语言 指针与二维数组详解
可以使用指向数组的指针遍历二维数组。假设有一个二维数组arr,其元素类型为int,可以使用指向int数组的指针进行遍历。
例如,可以定义一个指向int数组的指针p,先让它指向二维数组的第一行,然后逐行遍历整个二维数组。具体实现代码如下:
```
int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int (*p)[4] = arr; // 定义一个指向int数组的指针,让它指向二维数组的第一行
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
printf("%d ", *(*(p+i)+j)); // 输出二维数组的元素
}
printf("\n");
}
```
在上面的代码中,`*(*(p+i)+j)`表示访问二维数组arr的第i行第j列对应的元素值。其中,`p+i`表示指针p指向的int数组的第i行,`*(p+i)`表示第i行对应的int数组,`*(p+i)+j`表示第i行中第j个元素的地址,`*(*(p+i)+j)`表示第i行第j列对应的元素值。
阅读全文