指针输入输出二维数组
时间: 2023-12-08 17:38:11 浏览: 51
下面是一个演示如何使用指针输入输出二维数组的例子:
```c
#include <stdio.h>
int main() {
int a[3][4] = { {1,3,5,7 {9,11,13,15}, {17,19,21,23} };
int (*p)[4]; // 定义一个指向含有4个元素的一维数组的指针
p = a; // 将指针p指向数组a的首地址
// 输出二维数组各元素的值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%4d", *(*(p + i) + j)); // 输出p所指向元素的值
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
1 3 5 7
9 11 13 15
17 19 21 23
```
相关问题
c语言怎么用指针输入输出二维数组
以下是使用指针输入输出二维数组的C语言示例:
```c
#include <stdio.h>
void inputArray(int *arr, int rows, int cols) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("Enter element at arr[%d][%d]: ", i, j);
scanf("%d", (arr + i * cols + j));
}
}
}
void outputArray(int *arr, int rows, int cols) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", *(arr + i * cols + j));
}
printf("\n");
}
}
int main() {
int arr[3][2];
printf("Enter elements of the array:\n"); inputArray(&arr[0][0], 3, 2);
printf("The array is:\n");
outputArray(&arr[0][0], 3, 2);
return 0;
}
```
指针二维数组输入输出
指针二维数组的输入输出可以通过指针的方式进行操作。下面是一个示例代码,演示了如何输入和输出指针二维数组:
```c
#include <stdio.h>
void printArray(int *arr[], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
void inputArray(int *arr[], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &arr[i][j]);
}
}
}
int main() {
int row = 3;
int col = 4;
int arr[row][col];
int *ptr[row];
for (int i = 0; i < row; i++) {
ptr[i] = arr[i];
}
printf("请输入数组元素:\n");
inputArray(ptr, row, col);
printf("输出数组元素:\n");
printArray(ptr, row, col);
return 0;
}
```
这段代码中,我们首先定义了一个二维数组`arr`和一个指针数组`ptr`,然后将指针数组的每个元素指向二维数组的每一行。接下来,通过`inputArray`函数可以输入二维数组的元素,通过`printArray`函数可以输出二维数组的元素。