calloc二维数组
时间: 2023-12-09 11:34:29 浏览: 174
为了动态创建二维数组,可以使用calloc函数。calloc函数可以在内存的动态存储区(堆区)中分配一块长度为size_all字节的连续区域,用来存放类型说明符指定的类型,并将分配的内存空间初始化为0。下面是一个动态创建二维数组的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int row, col;
printf("Enter the number of rows and columns: ");
scanf("%d %d", &row, &col);
// 动态创建二维数组
int **arr = (int **) calloc(row, sizeof(int *));
for (int i = 0; i < row; i++) {
arr[i] = (int *) calloc(col, sizeof(int));
}
// 输入二维数组元素
printf("Enter the elements of the array:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &arr[i][j]);
}
}
// 输出二维数组元素
printf("The elements of the array are:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 释放动态分配的内存
for (int i = 0; i < row; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
阅读全文