數(shù)據(jù)結(jié)構(gòu)基礎之動態(tài)內(nèi)存分配(malloc)

0x00 malloc函數(shù)簡介

C語言提供了四個基本的動態(tài)內(nèi)存管理(內(nèi)存分配與釋放)函數(shù),這些函數(shù)的原型包含在stdlib.h頭文件里。

它們分別是:

1.malloc()/free()函數(shù)

2.calloc()函數(shù)

3.realloc()函數(shù)

malloc的全稱是memory allocation,中文叫動態(tài)內(nèi)存分配,用于申請一塊連續(xù)的指定大小的內(nèi)存塊區(qū)域以void*類型返回分配的內(nèi)存區(qū)域地址,當無法知道內(nèi)存具體位置的時候,想要綁定真正的內(nèi)存空間,就需要用到動態(tài)的分配內(nèi)存,一般需和free函數(shù)配對使用。

備注:void* 表示未確定類型的指針,void *可以指向任何類型的數(shù)據(jù),更明確的說是指申請內(nèi)存空間時還不知道用戶是用這段空間來存儲什么類型的數(shù)據(jù)(比如是char還是int或者其他數(shù)據(jù)類型)

本篇只對malloc進行講解

0x01 malloc函數(shù)功能

malloc()函數(shù)在堆中申請分配一個大小為size個字節(jié)的連續(xù)內(nèi)存空間,若成功分配,則返回一個指向所分配空間起始地址的指針,否則返回空指針(NULL)。

free()函數(shù)用來釋放已分配的內(nèi)存空間,參數(shù)p是待釋放的內(nèi)存空間的首指針



0x02 malloc函數(shù)實例



時間倉促,多有不嚴謹,望指正,謝謝!
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • C語言中內(nèi)存分配 在任何程序設計環(huán)境及語言中,內(nèi)存管理都十分重要。在目前的計算機系統(tǒng)或嵌入式系統(tǒng)中,內(nèi)存資源仍然是...
    一生信仰閱讀 1,313評論 0 2
  • (JG-2014-08-20)(前半部分經(jīng)過網(wǎng)上多篇文章對比整理)(后半部分根據(jù)ExceptionalCpp、C+...
    JasonGao閱讀 5,742評論 2 23
  • 作者 謝恩銘,公眾號「程序員聯(lián)盟」(微信號:coderhub)。轉(zhuǎn)載請注明出處。原文:https://www.ji...
    程序員聯(lián)盟閱讀 1,973評論 2 21
  • 船塢里下水了一艘新船,沒人知道他的性能,只知道他會沉沒,不知道什么時候沉沒。 船塢就像個封閉的世界,里面生活著許許...
    耳東陳閱讀 382評論 0 0
  • 我的網(wǎng)名叫失落真心,十二年從未變過。我給它自定義是:失落不失真心,真心終不會失落。面對許多困難或困惑,我用...
    失落真心閱讀 323評論 0 1

友情鏈接更多精彩內(nèi)容