c c 動態申請一維,二維陣列

2021-10-03 04:53:42 字數 497 閱讀 3768

指標變數名=new 型別名[下標表示式];

「下標表示式」不是常量表示式,即它的值不必在編譯時確定,可以在執行時確定。這就是堆的乙個非常顯著的特點,有的時候程式設計師本身都不知道要申請能夠多少記憶體的時候,堆就變的格外有用。

1. 動態申請一維陣列:

int *p=new int[n];

if ((p) == null)

return; //確保沒有動態分配失敗

delete p; // 但是new出來的一定不要忘了delete掉

2. 動態申請二維陣列m行n列:

int **a = new int* [m];

for(int i = 0; i < m; i++)

a[i] = new int [n];

釋放記憶體:

for(int i = 0; i < m; ++i)

delete a[i];

delete a;

C語言動態申請一維陣列 二維陣列

首先 新增 include include int a int n scanf d n a int malloc n sizeof int free a 這樣就動態分配了陣列a n 陣列的長度n可輸入確定,也可用程式中的變數確定。但要注意程式結束後要用free 將其釋放,否則記憶體會洩漏。驗證一下 ...

C 動態申請二維陣列

剛學習,做下總結。以下是我的理解,如有錯誤歡迎指出。申請 int a 乙個指向指標的指標。int n m cin n m a new int n 申請乙個n個元素的一維陣列 作為行 for int i 0 i 關係如下假設 n 3 m 4 先申請乙個一維陣列,陣列的每個元素都是乙個指標變數 該陣列的...

二維陣列動態申請分析

include intmain void printf 開始 printf 申請儲存行指標的空間 arr int malloc 4 sizeof int for i 0 i 4 i printf 按照二維陣列方式訪問動態申請的arr for i 0 i 4 i printf 直接定義二維陣列arry...