描述

C 库函数 void *calloc(size_t nitems, size_t size) 分配所需的内存空间,并返回一个指向它的指针。malloccalloc 之间的不同点是,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]);}return(0);
}

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

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

注:calloc可以动态的创建内存空间,对于一些大型的项目可以节省内存

转载:http://www.runoob.com/cprogramming/c-function-calloc.html

C---calloc相关推荐

  1. malloc、calloc、realloc的区别

    (1)C语言跟内存分配方式 <1>从静态存储区域分配.        内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量.static变量. <2&g ...

  2. malloc()与calloc区别【转】

    转自:http://blog.csdn.net/firecityplans/article/details/4490124/ 版权声明:本文为博主原创文章,未经博主允许不得转载. Both the m ...

  3. C中堆管理—浅谈malloc,free,calloc,realloc函数之间的区别

    2019独角兽企业重金招聘Python工程师标准>>> 在进行C/C++编程的时候,需要程序员对内存的了解比较好清楚,经常需要操作的内存可分为下面几个类别: 堆栈区(stack):由 ...

  4. 【C/C++】内存分配函数:malloc,calloc,realloc,_alloca

    [C/C++]内存分配函数:malloc,calloc,realloc,_alloca malloc: 原型:extern void *malloc(unsigned int num_bytes); ...

  5. malloc calloc realloc的对比

    函数原型 三个函数的声明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* call ...

  6. realloc,malloc,calloc的区别

    三个函数的申明分别是:  void* realloc(void* ptr, unsigned newsize);  void* malloc(unsigned size);  void* calloc ...

  7. malloc,calloc,realloc,free函数

    在进行C/C++编程的时候,需要程序员对内存的了解比较清楚,经常需要操作的内存可分为下面几个类别: 1.堆栈区(stack):由编译器自动分配与释放,存放函数的参数值,局部变量,临时变量等等,它们获取 ...

  8. malloc 和alloc及calloc的区别

    C语言跟内存分配方式 (1) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2) 在栈上创建.在执行函数时,函数内局部变 ...

  9. malloc 初始化_关于内存分配malloc、calloc、realloc的区别

    (1) malloc() 在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需要内存空间的长度,返回该区域的首地址 (2) calloc() 与malloc相似,参数sizeOf ...

  10. malloc 和 calloc的区别?

    函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别.malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size);call ...

最新文章

  1. 洛谷—— P1605 迷宫
  2. Java8学习之旅2---基于Lambda的JDBC编程
  3. Linux 之四 Ubuntu 20.04 WiFi 无法使用、设置无法显示、远程桌面、SSH、Git、PPA、FFmpeg 等各问题记录
  4. WP7 初始屏幕设置
  5. Tensorflow安装错误ERROR: Cannot uninstall ‘wrapt‘.
  6. USACO Dual Palindrome
  7. 在国企工作30年,单位现在协商买断工龄,3000/年该走吗?
  8. 【金融】【python】使用python处理多种期货数据指标
  9. jetbrains全家桶中好用的快捷键插件:Key Promoter X
  10. 读研计算机统计学怎样,【新加坡国立大学统计专业读研】 - 环外新加坡留学网...
  11. Symantec BE 安装及备份oracle 完整版
  12. g4600黑苹果efi_Hackintosh黑苹果长期维护机型EFI列表及安装教程整理
  13. ubuntu18.04 linux journalctl 命令
  14. word文本框中插入文本框_在Word 2007中快速将文本翻译成另一种语言
  15. Notepad JSON格式化
  16. PL330 DMAC笔记(2) - DMAC接口,状态机,初始化,APB slave接口
  17. 微信,世界上最成功的私链
  18. linux转置的命令,转置文件(awk)
  19. 计算机系统结构相关的论文,计算机系统结构毕业论文题目.doc
  20. systemtap工具使用介绍

热门文章

  1. 【期望,方差,象,核】
  2. 跑步装备推荐:跑步运动装备清单分享
  3. Django数据库连接池(mysql)
  4. 中华英才网张建国:规划人生三级跳
  5. 迪士尼贺新春,推出猪年限定产品
  6. 解读华为云GaussDB(for Influx):数据直方图
  7. 面试官让我写SQL,我没有写出来
  8. Program received signal SIGSEGV
  9. 只有自我负责,才能真正增长自己的力量
  10. 【数据结构_选择题】(D21 0519)