定義二維陣列char array[x][y];
1.只定義個一維的就可以了
char *array;
array = new char[x*y];
訪問的時候*(array+i*y+j)表示array[i][j]
2.定義乙個二維陣列
char **array1
array1 = new char *[x];
for(i=0;iarray1[i] = new char[y];
...用的時候可以直接array1[i][j]
注意delete
for(i=0;idelete array1[i];
delete array1;
3.要用的方便,可以在array上加定義乙個指標變數。
char *array = new char[x*y];
char **array2;
array2 = new char *[x];
for(int i=0;iarray2[i] = array + i*y;
...用起來還是array2[i][j],但二維陣列已經是一塊連續記憶體,這是和第二種方法區別的地方,感覺這是比較適合用二維陣列的習慣。
delete array2;
new 二維陣列
定義二維陣列char array x y 1.只定義個一維的就可以了 char array array new char x y 訪問的時候 array i y j 表示array i j 2.定義乙個二維陣列 char array1 array1 new char x for i 0 i arra...
二維陣列new小結
a ga n new a m n delete ga 缺點 n必須是已知 優點 呼叫直觀,連續儲存,程式簡潔 經過測試,析構函式能正確呼叫 a ga new a m for int i 0 i m i ga i new a n for int i 0 i m i delete ga i delete...
如何new與delete各種二維陣列
一鍵約師傅 define m 10u define n 20u include int main void 刪除的時候是 for int j 0 j delete pnum 第二種,記憶體連續,但是不能,最推薦的一種。不能但是你可以通過 i n j 來計算 啊 這種是1維陣列轉化為2維陣列 int ...