C 语言标准库函数 - calloc()
C 语言标准库 <stdlib.h> 函数 void *calloc(size_t nitems, size_t size) 分配所需的内存空间,并返回一个指向它的指针。
malloc 和 calloc 之间的不同点是,malloc 不会设置内存为 0,而 calloc 会设置分配的内存为 0
头文件
#include <stdlib.h>
函数原型
下面是 calloc() 函数的声明
void *calloc(size_t nitems, size_t size)
参数
- nitems : 要被分配的元素个数
- size : 元素的大小
返回值
该函数返回一个指针,指向已分配的内存。如果请求失败,则返回 NULL
范例
下面的范例演示了 calloc() 函数的用法
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #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]); } printf("\n"); return(0); }
编译运行范例,输出结果如下
$ gcc main.c && ./a.out 要输入的元素个数:4 输入 4 个数字: 7 13 17 29 输入的数字为:7 13 17 29