C语言calloc()函数:分配内存空间并初始化
生活随笔
收集整理的這篇文章主要介紹了
C语言calloc()函数:分配内存空间并初始化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http://c.biancheng.net/cpp/html/134.html
頭文件:#include <stdlib.h>
calloc() 函數(shù)用來動態(tài)地分配內(nèi)存空間并初始化為 0,其原型為:
? ? void* calloc (size_t num, size_t size);
calloc() 在內(nèi)存中動態(tài)地分配 num 個長度為 size 的連續(xù)空間,并將每一個字節(jié)都初始化為 0。所以它的結(jié)果是分配了 num*size 個字節(jié)長度的內(nèi)存空間,并且每個字節(jié)的值都是0。
【返回值】分配成功返回指向該內(nèi)存的地址,失敗則返回 NULL。
如果 size 的值為 0,那么返回值會因標準庫實現(xiàn)的不同而不同,可能是 NULL,也可能不是,但返回的指針不應(yīng)該再次被引用。
注意:函數(shù)的返回值類型是 void *,void 并不是說沒有返回值或者返回空指針,而是返回的指針類型未知。所以在使用 calloc() 時通常需要進行強制類型轉(zhuǎn)換,將 void 指針轉(zhuǎn)換成我們希望的類型,例如:
calloc() 與? malloc() ?的一個重要區(qū)別是:calloc() 在動態(tài)分配完內(nèi)存后,自動初始化該內(nèi)存空間為零,而 malloc() 不初始化,里邊數(shù)據(jù)是未知的垃圾數(shù)據(jù)。下面的兩種寫法是等價的:
代碼示例:
要輸入的數(shù)字的數(shù)目:4
請輸入數(shù)字 #1:126
請輸入數(shù)字 #2:343
請輸入數(shù)字 #3:45
請輸入數(shù)字 #4:234
你輸入的數(shù)字為:126 343 45 234
上面的程序會將你輸入的數(shù)字存儲起來,然后輸出。因為在程序運行時根據(jù)你的需要來動態(tài)分配內(nèi)存,所以每次運行程序你可以輸入不同數(shù)目的數(shù)字。
總結(jié)
以上是生活随笔為你收集整理的C语言calloc()函数:分配内存空间并初始化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习通考试用投屏会被发现吗?
- 下一篇: 成都欢乐谷可以带吃的东西进去吗