頭文件:#include <stdlib.h>malloc()
函數(shù)用來動(dòng)態(tài)地分配內(nèi)存空間(如果你不了解動(dòng)態(tài)內(nèi)存分配煮落,請查看:C語言動(dòng)態(tài)內(nèi)存分配及變量存儲(chǔ)類別,其原型為:void* malloc (size_t size);
C++中使用(new)分配和(delete)撤銷內(nèi)存
【參數(shù)說明】size 為需要分配的內(nèi)存空間的大小咱士,以字節(jié)(Byte)計(jì)
【函數(shù)說明】malloc() 在堆區(qū)分配一塊指定大小的內(nèi)存空間立由,用來存放數(shù)據(jù)。這塊內(nèi)存空間在函數(shù)執(zhí)行完成后不會(huì)被初始化序厉,它們的值是未知的锐膜。如果希望在分配內(nèi)存的同時(shí)進(jìn)行初始化,請使用 calloc()函數(shù)弛房。
【返回值】分配成功返回指向該內(nèi)存的地址道盏,失敗則返回 NULL。由于申請內(nèi)存空間時(shí)可能有也可能沒有文捶,所以需要自行判斷是否申請成功捞奕,再進(jìn)行后續(xù)操作。
buffer = (char*)malloc(i+1); // 字符串最后包含 \0
if(buffer==NULL)
exit(1); // 判斷是否分配成功
*注意:函數(shù)的返回值類型是 void 拄轻,void 并不是說沒有返回值或者返回空指針颅围,而是返回的指針類型未知。****所以在使用 malloc() 時(shí)通常需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換恨搓,將 void 指針轉(zhuǎn)換成我們希望的類型院促,例如:
char *ptr = (char *)malloc(10); // 分配10個(gè)字節(jié)的內(nèi)存空間,用來存放字符
NdkDemo代碼已上傳至[Github](https://github.com/chenshouyin/NdkDemo)
如有不正支出,歡迎留言交流斧抱!
[我的GitHub](https://github.com/chenshouyin?tab=repositories)
[我的CSDN](http://blog.csdn.net/e_inch_photo)
[我的簡書](http://www.reibang.com/u/303ec9abdc08)
[開發(fā)筆記](https://github.com/chenshouyin/DevNote)