c語言堆操作相關malloc,calloc,realloc,memset, free

memset

memset(void?p, int c, int n) 初始化申請空間 先壕,將p指向的 n字節(jié)大小的空間,全部以字節(jié)為單位初始化成c, 例如:

char *p = (char *)malloc(sizeof(char) * 100);

memset(&p, 0, sizeof(char) * 100)?//給*p指定的前100字節(jié)大小的內(nèi)存空間設置為(只支持0, -1淌喻,以字節(jié)為單位賦初始值)

malloc

void * malloc(int n)?傳入申請空間大小褥伴,單位字節(jié)蟹地,并返回該控件的內(nèi)存地址

申請一塊內(nèi)存空間挫剑,并未初始化,一般會與memset(void *p, int c, int n)結(jié)合初始化內(nèi)存空間

現(xiàn)在系統(tǒng)抹去內(nèi)存區(qū)域只是把標記除去风喇,并不會吧內(nèi)存地址清楚為0宁改,因此必須使用memset來初始化申請空間,否則申請的空間是內(nèi)存中的默認非空白空間魂莫,可能會亂碼或者與想象值不同

注意: malloc函數(shù)分配的空間也是未初始化的还蹲。

calloc

calloc()函數(shù)是malloc的簡單包裝。它的主要優(yōu)點是把動態(tài)分配的內(nèi)存清零豁鲤。

void *calloc(int n, int size)

該函數(shù)與malloc函數(shù)的一個顯著不同時是秽誊,calloc函數(shù)得到的內(nèi)存空間是經(jīng)過初始化的,其內(nèi)容全為0琳骡。calloc函數(shù)適合為數(shù)組申請空間锅论,可以將size設置為數(shù)組元素的空間長度,將n設置為數(shù)組的容量楣号。

注意:relloc函數(shù)分配的空間也是已初始化的最易。

realloc

realloc函數(shù)的功能比malloc函數(shù)和calloc函數(shù)的功能更為豐富,可以實現(xiàn)內(nèi)存分配和內(nèi)存釋放的功能炫狱,其函數(shù)聲明如下:

void * realloc(void * p, int n);

其中藻懒,指針p必須為指向堆內(nèi)存空間的指針,即由malloc函數(shù)视译、calloc函數(shù)或realloc函數(shù)分配空間的指針嬉荆。realloc函數(shù)將指針 p指向的內(nèi)存塊的大小改變?yōu)閚字節(jié)。如果n小于或等于p之前指向的空間大小酷含,那么鄙早。保持原有狀態(tài)不變。如果n大于原來p之前指向的空間大小椅亚,那么限番,系統(tǒng)將重新為p從堆上分配一塊大小為n的內(nèi)存空間,同時呀舔,將原來指向空間的內(nèi)容依次復制到新的內(nèi)存空間上弥虐,p之前指向的空間被釋放。

注意:relloc函數(shù)分配的空間也是未初始化的, 根據(jù)新指定大小與原來對比,來進行重分配霜瘪,小于地址不變珠插,大于則復制并重新分配,釋放之空間粥庄。

free

void free(void * p);?釋放p申請的空間丧失,并設置為null

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末豺妓,一起剝皮案震驚了整個濱河市惜互,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌琳拭,老刑警劉巖训堆,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異白嘁,居然都是意外死亡坑鱼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門絮缅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鲁沥,“玉大人,你說我怎么就攤上這事耕魄』。” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵吸奴,是天一觀的道長允扇。 經(jīng)常有香客問我,道長则奥,這世上最難降的妖魔是什么考润? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮读处,結(jié)果婚禮上糊治,老公的妹妹穿的比我還像新娘。我一直安慰自己罚舱,他們只是感情好井辜,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著馆匿,像睡著了一般抑胎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渐北,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天阿逃,我揣著相機與錄音,去河邊找鬼。 笑死恃锉,一個胖子當著我的面吹牛搀菩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播破托,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼肪跋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了土砂?” 一聲冷哼從身側(cè)響起州既,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萝映,沒想到半個月后吴叶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡序臂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年蚌卤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奥秆。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡逊彭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出构订,到底是詐尸還是另有隱情侮叮,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布鲫咽,位于F島的核電站签赃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏分尸。R本人自食惡果不足惜锦聊,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望箩绍。 院中可真熱鬧孔庭,春花似錦、人聲如沸材蛛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卑吭。三九已至芽淡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間豆赏,已是汗流浹背挣菲。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工富稻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人白胀。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓椭赋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親或杠。 傳聞我的和親對象是個殘疾皇子哪怔,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361