指针遍历二维数组都有什么方式
时间: 2023-11-15 08:04:31 浏览: 36
指针遍历二维数组的方式有以下几种:
1. 通过双重循环遍历数组元素
```
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
```
2. 通过指针遍历数组元素
```
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int *p = &arr[0][0];
for (int i = 0; i < 3 * 4; i++) {
printf("%d ", *(p + i));
if ((i + 1) % 4 == 0) {
printf("\n");
}
}
```
3. 通过指针数组遍历数组元素
```
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int *p[3];
for (int i = 0; i < 3; i++) {
p[i] = arr[i];
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", *(p[i] + j));
}
printf("\n");
}
```
以上三种方式都可以遍历二维数组的所有元素,选择哪一种方式取决于实际需求和编程习惯。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)