c語言malloc和realloc(C語言中malloc()和calloc()有什么區(qū)別)
關(guān)于c語言malloc和realloc,C語言中malloc()和calloc()有什么區(qū)別這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、函數(shù)原型:void* realloc(void* ptr, unsigned newsize);void* malloc(unsigned size);void* calloc(size_t nelem, size_t elsize);函數(shù)聲明都在stdlib.h函數(shù)庫(kù)內(nèi)。
2、 malloc調(diào)用形式為(類型*)malloc(size):在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一塊長(zhǎng)度為"size"字節(jié)的連續(xù)區(qū)域,返回該區(qū)域的首地址。
3、 calloc調(diào)用形式為(類型*)calloc(n,size):在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配n塊長(zhǎng)度為"size"字節(jié)的連續(xù)區(qū)域,返回首地址。
4、 realloc 不能保證重新分配后的內(nèi)存空間和原來的內(nèi)存空間指在同一內(nèi)存地址, 它返回的指針很可能指向一個(gè)新的地址。
5、所以,在代碼中,必須把realloc返回的值,重新賦給 p 如:p = (char *) realloc (p, old_size + new_size);甚至可以傳一個(gè)空指針(0)給 realloc ,則此時(shí)realloc 作用完全相當(dāng)于malloc。
6、如:int* p = (char *) realloc (0,old_size + new_size); //全新分配一個(gè)內(nèi)存空間,作用完全等同于以下這行: int* p = (char *) malloc(old_size + new_size);calloc(len, size)與malloc相似,參數(shù)len為申請(qǐng)地址的單位元素長(zhǎng)度,size為元素個(gè)數(shù),如:char* p;p=(char*)calloc(sizeof(char),1000); 另外:void *alloca(size_t size)函數(shù)說明:alloca()用來配置size個(gè)字節(jié)的內(nèi)存空間,然而和malloc/ calloc不同的時(shí), alloca()是從堆棧空間(stack)中配置內(nèi)存,因此在函數(shù)返回時(shí)會(huì)自動(dòng)釋放此空間返回值 :若配置成功則返回一指針, 失敗則返回NULL。
本文分享完畢,希望對(duì)大家有所幫助。
免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場(chǎng)無關(guān)。財(cái)經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。 如有侵權(quán)請(qǐng)聯(lián)系刪除!
- 雙重免疫療法加化療被發(fā)現(xiàn)對(duì)特定亞組肺癌患者有益
- 研究團(tuán)隊(duì)開發(fā)出新設(shè)備來識(shí)別母乳喂養(yǎng)并發(fā)癥的生物標(biāo)志物
- 心電圖監(jiān)測(cè)研究發(fā)現(xiàn)過量飲酒后心律失常
- DAPK3 成為三陰性乳腺癌細(xì)胞遷移的新調(diào)節(jié)劑
- 專家提出益生元分類的關(guān)鍵標(biāo)準(zhǔn)
- 大腦的支持細(xì)胞通過產(chǎn)生有毒肽導(dǎo)致阿爾茨海默病
- 采用堆疊地質(zhì)實(shí)現(xiàn)更好的碳儲(chǔ)存采用堆疊地質(zhì)實(shí)現(xiàn)更好的碳儲(chǔ)存
- 附近的超新星可能促進(jìn)了地球上生命的多樣化
-
6月25-28日,由中國(guó)進(jìn)出境生物安全研究會(huì)、中國(guó)國(guó)際旅行衛(wèi)生保健協(xié)會(huì)主辦,中國(guó)青年創(chuàng)業(yè)就業(yè)基金會(huì)支持,中國(guó)出入...瀏覽全文>>
-
胃腸鏡檢查,聽起來可能有些令人不安,但實(shí)際上,它可能是生活中的救命稻草。對(duì)于一些人來說,定期進(jìn)行胃腸鏡...瀏覽全文>>
-
6月16日-20日,2025年優(yōu)秀博士后研究人員(紹興)研學(xué)活動(dòng)順利舉行。本次活動(dòng)匯聚了來自全國(guó)各地的百余名博士后,...瀏覽全文>>
-
近日,天津松果生物醫(yī)療科技有限公司自主研發(fā)的牛跟腱來源去端肽I型膠原蛋白原材料成功通過國(guó)家藥品監(jiān)督管理局...瀏覽全文>>
-
在數(shù)字化產(chǎn)業(yè)轉(zhuǎn)型的浪潮奔涌之際,病理學(xué)正經(jīng)歷著前所未有的革新機(jī)遇。奧偉登(Evident)憑借百年光學(xué)技術(shù)積淀,以...瀏覽全文>>
-
6月6-8日,CHINAGUT 2025中國(guó)腸道大會(huì)在寧波國(guó)際會(huì)議中心隆重舉辦。大會(huì)由南京醫(yī)科大學(xué)第二附屬醫(yī)院、國(guó)家消化...瀏覽全文>>
-
在第28屆北京國(guó)際口腔展這一行業(yè)風(fēng)向標(biāo)級(jí)盛會(huì)上,北京易嶺生物科技有限公司(下面簡(jiǎn)稱易嶺生物)憑借重磅新品發(fā)...瀏覽全文>>
-
2025款上汽大眾ID 4 X在安徽阜陽地區(qū)的售價(jià)會(huì)根據(jù)配置和選裝包有所不同。基礎(chǔ)版車型的廠商指導(dǎo)價(jià)大約在20萬...瀏覽全文>>
-
嵐圖FREE,作為一款集豪華與智能于一體的新能源SUV,正以全新的姿態(tài)迎接每一位渴望高品質(zhì)出行的用戶?,F(xiàn)在,嵐...瀏覽全文>>
-
安徽阜陽的大眾ARTEON 2022新款現(xiàn)已到店,最低售價(jià)從34 80萬元起,無疑是近期購(gòu)車的最佳時(shí)機(jī)。這款車型以其...瀏覽全文>>