指针遍历二维数组都有什么方式
时间: 2023-11-15 18:04:31 浏览: 68
改写上例用指针变量输出二维数组元素的值。-C++的PPT数组方面的
指针遍历二维数组的方式有以下几种:
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");
}
```
以上三种方式都可以遍历二维数组的所有元素,选择哪一种方式取决于实际需求和编程习惯。
阅读全文