• calloc()


    描述

    C 库函数 void *calloc(size_t nitems, size_t size) 分配所需的内存空间,并返回一个指向它的指针。

    malloc 和 calloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零。

    声明

    下面是 calloc() 函数的声明。

    void *calloc(size_t nitems, size_t size)

    参数

    • nitems -- 要被分配的元素个数。
    • size -- 元素的大小。

    返回值

    该函数返回一个指针,指向已分配的内存。如果请求失败,则返回 NULL。

    实例

    下面的实例演示了 calloc() 函数的用法。

    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
       int i, n;
       int *a;
     
       printf("要输入的元素个数:");
       scanf("%d",&n);
     
       a = (int*)calloc(n, sizeof(int));
    printf(
    "输入 %d 个数字:\n",n); for( i=0 ; i < n ; i++ ) { scanf("%d",&a[i]); } printf("输入的数字为:"); for( i=0 ; i < n ; i++ ) { printf("%d ",a[i]); } free (a); // 释放内存 return(0); }

    让我们编译并运行上面的程序,这将产生以下结果:

    要输入的元素个数:3
    输入 3 个数字:
    22
    55
    14
    输入的数字为:22 55 14

    程序例2

    从这个例子可以看出calloc分配完存储空间后将元素初始化。
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int i;
        int* pn = (int*)calloc(10, sizeof(int));
        for(i = 0;i < 10;i++)
            printf("%d", pn[i]);
        printf("\n");
        free(pn);
        return 0;
    }

    输出十个0。

  • 相关阅读:
    【PyTorch深度学习60分钟快速入门 】Part1:PyTorch是什么?
    如何编写一个gulp插件
    进阶之初探nodeJS
    模拟Vue之数据驱动5
    模拟Vue之数据驱动4
    模拟Vue之数据驱动3
    模拟Vue之数据驱动2
    树结构之JavaScript
    模拟Vue之数据驱动1
    CORS详解[译]
  • 原文地址:https://www.cnblogs.com/zzzsj/p/16092372.html
Copyright © 2020-2023  润新知