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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。