C語言中內存管理規范


一、內存申請

       1.建議使用calloc申請內存,盡量不要使用malloc。

       calloc在動態分配完內存后,自動初始化該內存空間為零,而malloc不初始化,里邊數據是隨機的垃圾數據。

       2.申請內存大小必須大於0.

    (1)使用0字節長度申請內存的行為是沒有定義的,在引用內存申請函數返回地址時會引發不可預知錯誤,對於可能出現申請0長度內存的情況非常有必要判斷,避免出現這種情況。

        (2)使用負數長度申請內存,負數會被當成一個很大的無符號整數,導致申請內存過大而出現失敗。

       3.申請內存后檢查是否申請成功,即檢查返回指針是否為NULL,即是否為0。

二、內存釋放 

        1.申請的內存一定需要釋放,有且僅能釋放一次

        2.禁止釋放或函數內返回非動態申請的內存(棧中的內存,函數中的臨時變量等)

   3.指針釋放后必須將指針指向空指針,否則會出現野指針的情況。

轉自:https://www.cnblogs.com/lh218/p/5373907.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM