calloc函数与malloc函数类似,但calloc在分配内存时会将分配的内存空间初始化为0,而malloc不会。这是calloc与malloc的主要区别之一。
使用calloc函数可以方便地分配一块指定大小的内存,并且不需要手动初始化为0。这在一些需要初始化内存的情况下非常有用,例如数组、结构体等。
void* calloc(size_t num, size_t size);
#include <stdio.h>
#include <stdlib.h>
int main() {
int* arr;
int size = 5;
// 分配一个包含5个int元素的数组,并将其初始化为0
arr = (int*)calloc(size, sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 输出数组元素
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
// 释放内存
free(arr);
return 0;
}