申請記憶體,使用運算子: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 從變數定義到函式結束 程式...