C 旅途 之 申請動態記憶體和釋放

2021-07-11 09:59:38 字數 1029 閱讀 5371

對於不想使用固定長度的陣列,一般會考慮動態申請;

而在c中是相當麻煩的操作,在c++中就變得特別簡單;

(一)申請動態陣列

int n;

cin>>n;

int *arr = new int[n];

如上就是為arr陣列申請了大小為n的空間 , 

但是如果寫為

int n ;

cin>>n;

int a[n] ;

這樣的寫法是錯的;

是對長度的定義,()是對大小的定義; 如上操作就是對陣列大小的定義,

(二)申請單個物件:

int *p ;

p = new int ;

或者還喜歡直接在申請的堆記憶體中包含固定的值;

int *p =  new int(100);
(三)注意:

不管申請的是什麼型別,在堆上申請的空間在使用完後一定要進行釋放,不然會造成記憶體洩露;

delete arr;
一般釋放的操作為:delete+指標名;

當然將它指向乙個空指標也是可以的 ;

arr = null;

資料儲存 動態記憶體申請和釋放(c語言)

函式宣告 返回為 void 型別 void malloc size t size 需要的標頭檔案 include 或 include 應用 指標 型別 變數名 指標 型別 malloc n sizeof 型別 指標 型別 強轉為同變數型別 如 int arr int malloc n sizeof ...

C語言中動態記憶體的申請和釋放

什麼是動態記憶體的申請和釋放?當程式執行到需要乙個動態分配的變數時,必須向系統申請取得堆中的一塊所需大小的儲存空間,用於儲存該變數。當不再使用該變數時,也就是它的生命結束時,要顯式釋放它所占用的儲存空間,這樣系統就能對該堆空間進行再次分配,做到重複使用有限的資源。在c語言中動態記憶體的申請和釋放 1...

C和C 的區別之動態記憶體申請

c語言中 申請記憶體空間的標頭檔案是 include 最重要的是不要忘記釋放申請的記憶體空間,防止記憶體洩漏 申請乙個結點的記憶體空間 include include include int main 申請一維陣列的記憶體空間 include include include define size ...