可程式設計記憶體區

2022-06-17 12:24:13 字數 447 閱讀 4328

堆區:亦稱動態記憶體分配。程式在執行的時候用malloc或new申請任意大小的記憶體,程式設計師自己負責在適當的時候用free或delete釋放記憶體。動態記憶體的生存期可以由我們決定,如果我們不釋放記憶體,程式將在最後才釋放掉動態記憶體。 但是,良好的程式設計習慣是:如果某動態記憶體不再使用,需要將其釋放掉,否則,我們認為發生了記憶體洩漏現象。

函式執行結束時這些儲存單元自動被釋放。

由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。

內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。它主要存放靜態資料、全域性資料。

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

未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。程式結束後有系統釋放。

存放常量字串, 程式結束後由系統釋放。

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

C語言可程式設計記憶體 靜態儲存區,堆區和棧區

靜態儲存區 內存在程式編譯時已經分配好,這塊內存在程式整個執行過程中都存在,主要存放靜態資料 全域性資料和常量。棧區 在執行函式時,函式內部區域性變數的儲存單元都在棧上建立,函式執行結束時這些儲存單元會被自動釋放,棧記憶體分配運算內置於處理器的指令集,效率很高,但是容量有限。堆區 也稱為動態記憶體分...

LILYGO T Wristband 可程式設計的手環

因為最近開發一款大眾化的健康產品,購買了一款可以自己程式設計的手環。其實現在銷售的眾多手環就是這樣的,只是沒有開放出來大家程式設計而已。這是我拆開進行程式設計的樣子 除了程式設計能力限制以外,它的長電版105mah,也受不了超過1個半小時。另外,還沒來得急研究抬手顯示等 它的程式設計接線口就壞掉了,...

可程式設計並行介面8255

8255是通用的並行介面晶元,通過程式設計實現多種工作方式,滿足不同應用需求。8255a是intel公司生產的可程式設計並行i o介面晶元,有3個8位並行i o口。具有3個通道3種工作方式的可程式設計並行介面晶元 40引腳 其各口功能可由軟體選擇,使用靈活,通用性強。8255a可作為微控制器與多種外...