c语言实现用malloc方法分配空间建立一个二维数组,并向其中录入数据
时间: 2023-05-21 20:00:43 浏览: 96
二维数组动态分配
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int rows, cols;
printf("请输入二维数组的行数和列数:\n");
scanf("%d %d", &rows, &cols);
int **arr = (int **)malloc(rows * sizeof(int *));
for (int i = 0; i < rows; i++) {
arr[i] = (int *)malloc(cols * sizeof(int));
}
printf("请输入二维数组的元素:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &arr[i][j]);
}
}
printf("二维数组的元素为:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
for (int i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
其中,使用了 `malloc` 方法分配了一个二维数组,并向其中录入数据。最后,需要使用 `free` 方法释放内存。
阅读全文