C语言函数返回二维数组
时间: 2023-11-23 10:45:00 浏览: 96
C语言函数不能直接返回二维数组,但可以使用指针来返回二维数组。你可以使用动态内存分配来创建一个二维数组,并将其作为指针返回。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int** create2DArray(int rows, int cols) {
int** arr = (int**)malloc(rows * sizeof(int*));
for (int i = 0; i < rows; i++) {
arr[i] = (int*)malloc(cols * sizeof(int));
}
return arr;
}
void free2DArray(int** arr, int rows) {
for (int i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
}
int main() {
int rows = 3;
int cols = 4;
int** arr = create2DArray(rows, cols);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = i * cols + j;
printf("%d ", arr[i][j]);
}
printf("\n");
}
free2DArray(arr, rows);
return 0;
}
```
这个示例代码中,`create2DArray`函数使用动态内存分配创建了一个二维数组,并将其作为指针返回。`free2DArray`函数用于释放动态分配的内存。你可以根据需要修改数组的行数和列数。
阅读全文