用指针输出一个二维数组,用c语言代码表示
时间: 2023-08-31 19:30:21 浏览: 126
### 回答1:
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
printf("%d ", arr[i][j]);
}
printf("\n");
}
### 回答2:
以下是使用指针输出二维数组的C语言代码:
```c
#include <stdio.h>
void printArray(int *matrix, int rows, int cols) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", *(matrix + i * cols + j));
}
printf("\n");
}
}
int main() {
int matrix[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
printArray(&matrix[0][0], 3, 4); // 将二维数组的首地址传递给printArray函数
return 0;
}
```
这段代码中定义了一个名为`printArray`的函数,该函数接受一个整型指针`matrix`,以及二维数组的行数`rows`和列数`cols`作为参数。在函数内部使用两个嵌套的循环遍历二维数组,并通过指针的偏移来输出数组中的每个元素。
在`main`函数中,声明了一个大小为3行4列的二维数组`matrix`。通过`&matrix[0][0]`获取二维数组的首地址,并将该地址作为参数传递给`printArray`函数,从而实现使用指针输出二维数组的目的。
### 回答3:
1. 首先定义一个二维数组,并将其以指针的形式传递给函数进行输出。
例如:
```c
#include <stdio.h>
void printArray(int (*arr)[3], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
printArray(arr, 2, 3);
return 0;
}
```
在上述代码中,首先在`printArray`函数中接受一个二维数组的指针`arr`,以及数组的行数`rows`和列数`cols`。然后通过两层循环遍历二维数组,并以`arr[i][j]`的形式输出数组元素。在`main`函数中定义了一个2行3列的二维数组`arr`,并将其作为参数传递给`printArray`函数进行输出。输出结果为:
```
1 2 3
4 5 6
```
阅读全文