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ù)實例

時間倉促,多有不嚴謹,望指正,謝謝!