定義二維陣列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
array1[i] = new char[y];
用的時候可以直接array1[i][j]
注意delete:
for(i=0;i
delete array1[i];
delete array1;
3.要用的方便,可以在array上加定義乙個指標變數。
char *array = new char[x*y];
char **array2;
array2 = new char *[x];
for(int i=0;i
array2[i] = array + i*y;
用起來還是array2[i][j],但二維陣列已經是一塊連續記憶體,這是和第二種方法區別的地方,感覺這是比較適合用二維陣列的習慣。
delete array2;
二維陣列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...
zt 二維陣列new小結
轉至水木清華 1.a ga n new a m n delete ga 缺點 n必須是已知 優點 呼叫直觀,連續儲存,程式簡潔 經過測試,析構函式能正確呼叫 2.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 ...
C 中二維陣列new小結
二維陣列new小結 轉至水木清華 1.a ga n new a m n delete ga 缺點 n必須是已知 優點 呼叫直觀,連續儲存,程式簡潔 經過測試,析構函式能正確呼叫 2.a ga new a m for int i 0 i m i ga i new a n for int i 0 i m...