new 二維陣列

2021-06-20 12:24:16 字數 664 閱讀 2613

定義二維陣列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...