c语言实现用malloc方法分配空间建立一个二维数组
时间: 2023-05-19 15:04:02 浏览: 90
二维数组动态分配
可以使用以下代码实现:
```c
int **arr;
int i, j, rows, cols;
// 获取行数和列数
printf("请输入二维数组的行数和列数:\n");
scanf("%d %d", &rows, &cols);
// 分配空间
arr = (int **)malloc(rows * sizeof(int *));
for (i = 0; i < rows; i++) {
arr[i] = (int *)malloc(cols * sizeof(int));
}
// 初始化数组
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
arr[i][j] = i * cols + j;
}
}
// 输出数组
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 释放空间
for (i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
```
这段代码使用了 malloc 方法分配了一个二维数组,并对其进行了初始化和输出。
阅读全文