c 程式的記憶體分配

2021-08-29 05:54:27 字數 434 閱讀 7802

1 、棧區( stack )

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

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

2 、堆區( heap )

由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可由 os ** 。

存放的是動態分配的資料物件。

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

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

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

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

程式結束後由系統釋放

4 、文字常量區

常量字串就是放在這裡的。

程式結束後由系統釋放

5 、程式**區

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

c 程式記憶體分配

乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式倒是類...

C程式記憶體分配

在任何程式設計環境及語言中,記憶體管理都十分重要。在目前的計算機系統或嵌入式系統中,記憶體資源仍然是有限的。因此在程式設計中,有效地管理記憶體資源是程式設計師首先考慮的問題。第1節主要介紹記憶體管理基本概念,重點介紹c程式中記憶體的分配,以及c語言編譯後的可執行程式的儲存結構和執行結構,同時還介紹了...

C程式記憶體分配

從作業系統的角度簡單介紹一下程序。程序是占有資源的最小單位,這個資源當然包括記憶體。在現代作業系統中,每個程序所能訪問的記憶體是互相獨立的 一些交換區除外 而程序中的執行緒所以共享程序所分配的記憶體空間。在作業系統的角度來看,程序 程式 資料 pcb 程序控制塊 區 text 用來存放cpu執行的機...