C總結 第五章 記憶體管理(5 6)

2021-06-28 20:55:15 字數 698 閱讀 3254

第五章 記憶體管理

1. 野指標:位址不確定的指標

int *p = null;  //不使用時都指向null,0位址處,防止野指標產生

2. 靜態區、隊(heap)、棧(stack,也稱堆疊)

1)靜態區:儲存自動全域性變數和static變數(包括static全域性和區域性變數),靜態區在程式的總個生命週期內部存在,由編譯器編譯時分配

2)堆:由malloc系列函式或new操作符分配記憶體,其生命週期由free或delete決定,沒有釋放之前一直存在,直到程式結束

3)棧:儲存區域性變數,只在函式內有效,函式執行結束時銷毀

3. 常見的記憶體錯誤

1)指標沒有指向一塊合法的記憶體

①結構體成員指標未初始化

②沒有為結構體指標分配足夠的記憶體

2)為指標分配的記憶體太小

3)記憶體分配成功,但未初始化(定義指標時請初始化,避免使用野指標)

4)記憶體越界:一般由於陣列或指標出現「多1」或「少1」

5)記憶體洩露(記憶體被占用完):

①malloc分配的記憶體是連續的,必須檢查是否已成功分配記憶體

②malloc和free一定要配對使用

6)記憶體已經釋放,卻還在使用

①free之後,指標一定要置空(p = null)

②函式返回棧記憶體(避免在函式內返回定義指標)

③記憶體使用太複雜,弄不清釋放了哪塊,哪塊沒有釋放

5 6 第五章小結

5.6 第五章小結 在這一章中,我們討論了值,討論了有關函式的詳細資訊,突出了乙個事實,在 f 中,函式就是值!我們看到幾個建立不同的值和對應組合型別的方法。從討論元組開始,給我們乙個儲存多個值為乙個的方法。接下來,我們討論了差別聯合,使我們能夠表示包含多種選項的值。宣告差別聯合時,指定哪些情況,然...

第五章總結

5.1選單 選單是windows應用程式視窗的乙個非常重要的組成部分,視窗的選單欄一般在標題欄下面。這個選單通常稱為 主選單 5.1.1建立和程式設計選單 選單用於sdi 單文件介面 或mdi 多文件介面 以及基於對話方塊的應用程式,在基於對話方塊的應用程式中新建 設計並編輯選單後,在該對話方塊的 ...

第五章總結

1事務特點 原子,隔離,一致,永久 轉帳測試 張三轉賬1000元給李四 我們可能會這樣這樣編寫語句 張三的帳戶少1000元,李四的帳戶多1000元 update bank set currentmoney currentmoney 1000 where customername 張三 update ...