用指向数组的指针遍历二维数组
时间: 2023-07-15 18:14:01 浏览: 148
可以使用指向数组的指针来遍历二维数组。具体步骤如下:
1.先定义一个指向数组的指针,指向二维数组的第一个元素。
2.使用两层循环来遍历整个二维数组,其中外层循环控制行数,内层循环控制列数。
3.在循环中,通过指针访问二维数组的元素,并进行相应的操作。
下面是一个示例代码:
```c
#include <stdio.h>
int main()
{
int arr[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int (*p)[4] = arr; // 定义指向数组的指针,指向二维数组的首地址
for(int i = 0; i < 3; i++) // 遍历行
{
for(int j = 0; j < 4; j++) // 遍历列
{
printf("%d ", *(*p+i)+j); // 通过指针访问二维数组的元素
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
在上面的代码中,我们先定义了一个指向数组的指针 `p`,它指向二维数组 `arr` 的首地址。然后通过两层循环遍历整个二维数组,并通过指针访问每个元素,最后输出结果。需要注意的是,这里使用了 `*(*p+i)+j` 的形式来访问二维数组的元素,其中第一个 `*` 取出指针 `p` 指向的数组,第二个 `*` 表示取出数组中的元素。
阅读全文