C 之記憶體管理介紹

2021-07-22 06:55:04 字數 432 閱讀 1071

申請記憶體,使用運算子:new;釋放記憶體,使用運算子:delete 

申請記憶體 int*p=new int;釋放記憶體 delete*p. 

申請乙個塊記憶體:int *arr=new int[10];釋放塊記憶體: delete arr; 

判斷申請記憶體是否失敗:if(null==p)則說明記憶體分配失敗了,申請記憶體的時候需要判斷記憶體是否申請成功,釋放記憶體需要將其設為空指標 

例子:

#include using namespace std;

int main(void)

*p = 20;

cout << *p << endl;

delete p;//釋放記憶體

p = null;//將指標設定為null

return 0;

}

二、

c 之記憶體管理

c 使用3 種不同解決方案儲存資料,區別是資料保留在記憶體中的時間 兩種儲存持續性為自動 自動變數和暫存器變數 register 沒有記憶體位址 堆疊 在函式外定義的變數和使用關鍵字static定義的變數的儲存持續性都為靜態.分為 3 外部鏈結性,內部鏈結性和無鏈結性 所有靜態變數都有下面的兩個初始...

C 之記憶體管理

malloc calloc realloc 上述三種方式是使用者在堆上開闢空間的辦法,用完後必須用free釋放,否則會造成記憶體洩露。值得一提的是實際開闢的記憶體比申請的空間大 前面多申請32個位元組,後面多申請4個位元組。具體原因這裡就不再闡述,詳情見c語言動態分配記憶體 c語言記憶體管理方式在c...

c基礎之記憶體管理

一 作用域 全域性變數和區域性變數 靜態全域性和區域性變數 總結 型別作用域 生命週期 區域性變數 int a 10 從變數定義到函式結束 區域性變數建立到函式結束 全域性變數 int a 10 整個專案檔案 程式建立到程式結束 static 區域性變數 int a 10 從變數定義到函式結束 程式...