使用malloc函數申請內存空間注意事項

使用malloc函數申請內存空間需要了解:(malloc的原型爲:(void *) malloc(int  size)        )

1)內存分配給誰?

2)分配多大的內存?

3)是否還有足夠內存分配?

4)內存將用來存儲什麼格式的數據?

5)分配的內存在哪裏?

舉例:

char *p = (char *) malloc(1000);

在堆上分配了1000個字節的內存,返回這塊內存的首地址,把地址強制轉換成 char *類型後賦給char *類型的指針變量p;這塊地址是用來保存char類型的數據。


使用malloc函數申請內存空間注意事項:

1)內存是否申請成功? if( NULL !=p )

2)使用結束後,一定要釋放,要求malloc和free符合一夫一妻制;

3)內存釋放後(使用free函數之後指針變量p本身保存的地址並沒有改變),需要將p的值賦值爲NULL(拴住野指針)。


char *p = (char *) malloc(1000);

if (NULL != p)

{

......

        free(p);

        p = NULL;

}

else

{


}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章