用指针输出一个二维数组,用代码表示
时间: 2023-08-31 07:43:45 浏览: 65
### 回答1:
可以使用以下代码:int[][] array = {{1,2,3},{4,5,6},{7,8,9}}; for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++)
System.out.print(array[i][j] + " ");
System.out.println();
}
### 回答2:
要用指针输出一个二维数组,可以使用双重循环遍历数组,并使用指针进行输出。
下面是代码表示:
```
#include <stdio.h>
int main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int *ptr = &arr[0][0]; // 指向数组的首元素的指针
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", *(ptr + i*4 + j)); // 使用指针输出数组的元素
}
printf("\n");
}
return 0;
}
```
在代码中,我们定义了一个3行4列的二维数组arr,并使用指针ptr指向数组的首元素。然后通过双重循环遍历数组的所有元素,使用指针进行输出。在输出时,使用了指针的偏移来访问数组的元素,即`*(ptr + i*4 + j)`,其中i代表行,j代表列。
运行以上代码,输出结果为:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
这样就实现了通过指针输出一个二维数组。
### 回答3:
下面是用指针输出一个二维数组的代码,两个for循环用来遍历数组中的元素,并通过指针输出每个元素的值。
```cpp
#include<iostream>
using namespace std;
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
// 使用指针输出二维数组
int *p = &arr[0][0]; // 获取二维数组的首地址
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
cout << *(p + i * 3 + j) << "\t"; // 通过指针输出数组元素的值
}
cout << endl;
}
return 0;
}
```
以上代码定义了一个2x3的二维数组arr,并使用指针p获取该数组的首地址。然后通过两个for循环遍历数组中的每个元素,通过指针p加上相应的偏移量来访问每个元素的值,利用cout进行输出。其中,i表示行号,j表示列号,i * 3 + j就是当前元素的偏移量。
运行该程序,会输出以下结果:
```
1 2 3
4 5 6
```