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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-04-02 MATLAB -- R2019b超详细安装教程
2021-04-02 QT -- (工业相机)窗口关闭后进程不停止/内存不释放的问题
2021-04-02 OpenCV -- 使用forEach进行并行像素访问