記憶體分割槽001

2021-10-24 02:59:41 字數 304 閱讀 6016

程式執行前:**區、全域性區

程式執行時:棧區、堆區

特點:共享、唯讀

存放全域性變數、靜態變數、常量(字串常量、const修飾的全域性常量)

相對低位址

編譯器自動分配記憶體,釋放記憶體,存放形參,區域性變數

不能把函式內變數的位址做返回值,因為區域性變數在函式呼叫結束後,就釋放了記憶體,位址並不指向之前的那個變數了。

new關鍵字,程式設計師手動分配,delete手動釋放記憶體,當使用new建立乙個陣列時,釋放需要delete arr,因為只寫陣列,對應到陣列首元素的指標,只能釋放第乙個,後邊的不能釋放。

2015 08 24記憶體分割槽

1 記憶體區域的劃分 從低到高 1.棧區 2.堆區 重點 3.靜態區 全域性區 4.常量區 5.區 2 static intnumber 10 被static 修飾的全域性變數生命週期隨著程式的建立而建立,隨著程式的消失而消失 3 區域性變數 定義在函式內部的變數就叫做區域性變數,區域性變數都是儲存...

c 記憶體分割槽

堆 由程式設計師手動分配和釋放,完全不同於資料結構中的堆,分配方式類似鍊錶。由malloc c語言 或new c 來分配,free c語言 和delete c 釋放。若程式設計師不釋放,程式結束時由系統釋放。棧 由編譯器自動分配和釋放的,存放函式的引數值 區域性變數的值等。操作方式類似資料結構的棧。...

C C 記憶體分割槽

堆區 由程式設計人員手動申請,手動釋放,若不手動釋放,程式結束後由系統 生命週期是整個程式執行期間。使用malloc或者new進行堆的申請,堆的總大小為機器的虛擬記憶體的大小。ps self view 由malloc申請的叫做堆區,new申請的叫做自由儲存區 棧區由系統進行記憶體的管理。主要存放函式...