C++ calloc()实例讲解

calloc()函数是C语言的库函数,用于动态分配内存空间。它与malloc()函数类似,但是calloc()函数在分配内存空间的同时将其初始化为0。它的语法如下:

void *calloc(size_t num, size_t size);

其中,num表示要分配的元素的个数,size表示每个元素的大小。函数返回一个指向分配内存空间的指针,如果分配失败则返回NULL。

下面是一个使用calloc()函数的例子:

#include <stdio.h>
#include <stdlib.h>

int main() {
int *ptr;
int n, i;

printf(“输入要分配的元素个数:”);
scanf(“%d”, &n);

// 分配内存空间
ptr = (int*)calloc(n, sizeof(int));
if(ptr == NULL) {
printf(“内存分配失败\n”);
exit(0);
}

printf(“输入元素的值:\n”);
for(i = 0; i < n; i++) {
scanf(“%d”, ptr + i);
}

printf(“输入的元素是:\n”);
for(i = 0; i < n; i++) {
printf("%d ", *(ptr + i));
}

// 释放内存空间
free(ptr);

return 0;
}

在上面的例子中,首先通过scanf()函数获取要分配的元素个数n。然后使用calloc()函数分配n个int类型元素的内存空间,每个元素的大小为sizeof(int)。如果分配失败,则输出错误信息并退出程序。

接下来,通过scanf()函数依次获取每个元素的值,存储到ptr指针指向的内存空间中。

最后,通过循环遍历ptr指针指向的内存空间,依次输出存储的元素值。

最后,使用free()函数释放掉ptr指针指向的内存空间,防止内存泄漏。

通过上述例子,我们可以看到calloc()函数在分配内存空间的同时将其初始化为0,这在某些情况下非常方便。同时,我们还需要注意在使用完calloc()函数分配的内存空间后,要使用free()函数释放掉该内存空间,以免造成内存泄漏。

阅读剩余
THE END