C库中的calloc()函数及其示例

发布于:2021-02-07 16:28:15

0

431

0

C calloc() 示例 编程语言

C语言中的calloc是什么?

C语言中的calloc()是用于分配具有相同大小的多个内存块的函数。它是一种动态内存分配功能,可将内存空间分配给复杂的数据结构(例如数组和结构),并返回指向内存的空指针。Calloc代表连续分配。

Malloc函数用于分配单个存储空间块,而C语言中的calloc函数用于分配多个存储空间块。C语言编程中calloc分配的每个块的大小相同。

calloc()语法:

ptr = (cast_type *) calloc (n, size);

  • 上面的C语言中的calloc语句示例用于分配n个相同大小的内存块。

  • 分配内存空间后,所有字节都初始化为零。

  • 返回当前位于分配的存储空间的第一个字节的指针。

每当分配内存空间的错误(例如内存不足)时,都会返回空指针,如下面的calloc示例所示。

如何使用calloc

下面的C语言中的calloc程序计算算术序列的总和。

#include <stdio.h>
   int main() {
       int i, * ptr, sum = 0;
       ptr = calloc(10, sizeof(int));
       if (ptr == NULL) {
           printf("Error! memory not allocated.");
           exit(0);
       }
       printf("Building and calculating the sequence sum of the first 10 terms n ");
       for (i = 0; i < 10; ++i) { * (ptr + i) = i;
           sum += * (ptr + i);
       }
       printf("Sum = %d", sum);
       free(ptr);
       return 0;
   }

C语言示例中的calloc的结果:

Building and calculating the sequence sum of the first 10 terms
Sum = 45