使用malloc的注意事項

2021-09-29 14:10:29 字數 574 閱讀 6001

有時候在函式中使用malloc時,如果分配記憶體失敗,可能會打算讓函式直接返回,例如:

char

*t; t =

malloc(4

);if(t ==

null

)return-1

;else

//...

但是如果使用了多次malloc,就要注意在判斷到某次分配失敗而導致返回時,將已經分配了的空間釋放掉。雖然通常在函式的結尾處不會忘記free,但是卻很容易在這種中途返回時疏忽了。

例如先分配了t1的空間,那麼在給t2分配空間失敗時,在返回之前就要free(t1):

char

*t1;

t1 =

malloc(4

);if(t ==

null

)return-1

;char

*t2;

t2 =

malloc(4

);if(t2 ==

null

)return-1

;

malloc函式的注意事項

malloc函式定義在 include 的標頭檔案中,函式原型的void malloc unsigned int ret 型別如果申請不成功就會返回null,void 是一種不指定指向的指標,可以是任意的指標,但是得強制轉換型別,如 以下 片段 int p p int malloc 4 malloc...

C 中使用new和malloc注意事項

先測試如下帶引數的建構函式 class test private int num 可以看到其建構函式帶乙個引數,並且在前導中執行私有變數 num的初始化操作,函式體中列印提示資訊。下面時主函式。int main 程式執行結果如下。created test with 10 請按任意鍵繼續.可以看出其執...

記憶體分配malloc函式注意事項。

malloc的全稱是memory allocation,中文叫動態記憶體分配,用於向系統申請分配指定位元組的記憶體空間 原型 extern void malloc unsigned int num bytes 看原型很頭疼,來兩個例子 int p p int malloc sizeof int 12...