堆與棧的區別

2021-07-10 17:24:46 字數 442 閱讀 5805

棧區(stack)由編譯器自動分配釋放   ,存放函式的引數值,區域性變數的值等。其

操作方式類似於資料結構中的棧。

堆區(heap)一般由程式設計師分配釋放,   若程式設計師不釋放,程式結束時可能由os回

收   。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶

全域性區(靜態區)(static)

全域性變數和靜態變數的儲存是放在一塊的,初始化的

全域性變數和靜態變數在一塊區域,未初始化的全域性變數和未初始化的靜態變數在相鄰的另

一塊區域。程式結束後由系統釋放。  

文字常量區

常量字串就是放在這裡的。程式結束後由系統釋放

程式**區存放函式體的二進位制**。

堆與棧區別

檢視文章 關於記憶體中棧和堆的區別 2008 09 02 17 12 1 記憶體分配方面 堆 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式是類似於鍊錶。可能用到的關鍵字如下 new malloc delete free等等。棧 由編譯器...

棧 與 堆 的區別

預備知識 堆與棧有什麼區別?一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束...

堆與棧的區別

堆與棧有什麼區別?一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由o...