C语言stdlib头文件(stdlib.h)中calloc函数的用法及代码示例。
用法:
void* calloc (size_t num, size_t size);
分配和zero-initialize阵列
有效的结果是分配了一个zero-initialized个存储块
(num*size)
个字节。如果size为零,则返回值取决于特定的库实现(它可能是也可能不是空指针),但不得取消对返回的指针的引用。
参数
- num
- 要分配的元素数。
- size
- 每个元素的大小。
size_t是无符号整数类型。
返回值
成功时,将指向该函数分配的内存块的指针。该指针的类型始终为
void*
,可以将其强制转换为所需的数据指针类型,以便将其取消引用。如果函数未能分配请求的内存块,则空指针返回。
示例
/* calloc example */
#include <stdio.h> /* printf, scanf, NULL */
#include <stdlib.h> /* calloc, exit, free */
int main ()
{
int i,n;
int * pData;
printf ("Amount of numbers to be entered: ");
scanf ("%d",&i);
pData = (int*) calloc (i,sizeof(int));
if (pData==NULL) exit (1);
for (n=0;n<i;n++)
{
printf ("Enter number #%d: ",n+1);
scanf ("%d",&pData[n]);
}
printf ("You have entered: ");
for (n=0;n<i;n++) printf ("%d ",pData[n]);
free (pData);
return 0;
}
该程序只存储数字,然后将其打印出来。但是它存储的项数可以在每次执行程序时修改,因为它会在运行时分配所需的内存。
相关用法
- C语言 atof用法及代码示例
- C语言 atoi用法及代码示例
- C语言 atol用法及代码示例
- C语言 atoll用法及代码示例
- C语言 strtod用法及代码示例
- C语言 strtof用法及代码示例
- C语言 strtol用法及代码示例
- C语言 strtold用法及代码示例
- C语言 strtoll用法及代码示例
- C语言 strtoul用法及代码示例
- C语言 strtoull用法及代码示例
- C语言 rand用法及代码示例
- C语言 srand用法及代码示例
- C语言 free用法及代码示例
- C语言 malloc用法及代码示例
- C语言 realloc用法及代码示例
- C语言 abort用法及代码示例
- C语言 atexit用法及代码示例
- C语言 at_quick_exit用法及代码示例
- C语言 exit用法及代码示例
- C语言 getenv用法及代码示例
- C语言 quick_exit用法及代码示例
- C语言 system用法及代码示例
- C语言 _Exit用法及代码示例
- C语言 bsearch用法及代码示例
- C语言 qsort用法及代码示例
- C语言 abs用法及代码示例
- C语言 div用法及代码示例
- C语言 labs用法及代码示例
- C语言 ldiv用法及代码示例
- C语言 llabs用法及代码示例
- C语言 lldiv用法及代码示例
- C语言 mblen用法及代码示例
- C语言 mbtowc用法及代码示例
- C语言 wctomb用法及代码示例
- C语言 wcstombs用法及代码示例
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C calloc function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。