C语言——内存管理
C語言——內存管理
宗旨:技術的學習是有限的,分享的精神是無限的。
//變量的存儲布局(伴隨初級程序員和高級工程師一生的)
靜態區:全局變量和static變量,初始化的全局變量和靜態變量放在一塊區域,未初始化的全局變量和和未初始化的靜態變量在相鄰的的另一塊區域。生命周期為整個程序,由編譯器編譯的時候分配;
棧:局部變量,函數參數;棧上的內容只在函數的范圍內存在,當函數運行結束,內容自動銷毀;特點是效率高,但空間大小有限;
堆:由malloc系列函數或new操作符分配的內存。生命周期由free或delete決定。沒釋放之前一直存在,直到程序結束;特點是使用靈活,空間比較大,但容易出錯。
文字常量:常量字符串就是存放在這里的,程序結束后由系統釋放。
程序代碼:存放函數體的二進制代碼。
重要:變量必定存儲在上面的某一種中,必須理解。再次強調,盡量別用全局變量,實在不行加static限制,最佳辦法是寫成函數接口。
總結
- 上一篇: linux 的vi命令详解,Linux
- 下一篇: oralce 表字段扩容(修改表字段长度