定義二維陣列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;
C語言二位陣列
前言 今天在實現裝配線排程程式時候,用到了二維陣列,並將其作為函式的引數。在寫程式的時候,遇到一些問題,即二維陣列做函式的引數應該如何正確表示。我寫程式的錯誤如下程式所示 1 include 2 void print int a 3 3 67intmain 8 10print a 11return0...
二位陣列與指標
include include using namespace std void disparry int a 2 3 int main void c是乙個指標,指向的元素int 3 即arr的行元素 int c 3 arr int p p int arr p指向arr 0 0 也可以說是arr 0...
二位陣列傳參及二位陣列動態分配問題
二位陣列引數傳遞 1.void display1 int arr 4 const int rows cout endl cout endl 2.void display2 int parr 4 const int rows cout endl cout endl parr i 等價於 parr i ...