1樓:xz巨集定義
c++中用new動態建立二維陣列的格式一般是這樣:
type (*p)[n] = new type [n];
其中,type是某種型別,n是二維陣列的列數。採用這種格式,列數必須指出,而行數無需指定。在這裡,p的型別是type*[n],即是指向一個有n列元素陣列的指標。
還有一種方法,可以不指定陣列的列數:
int **p;
p = new int*[10]; //注意,int*[10]表示一個有10個元素的指標陣列
for (int i = 0; i != 10; ++i)
這裡是將p作為一個指向指標的指標,它指向一個包含10個元素的指標陣列,並且每個元素指向一個有5個元素的陣列,這樣就構建了一個10行5列的陣列。
當陣列使用完畢,釋放空間的**是:
for(int i = 0; i != 5; i++)
delete p;
處理二維陣列,可以用降維或是二維法。
降維法是用一位陣列來接受二維陣列,將二維元素的首地址&a[0][0]作為引數,傳遞給函式,函式用int *接受。
二維法就直接用二維陣列來接受,但是需要指定列數。
2樓:匿名使用者
double **array;
array = new double*[row];
for (int i = 0; i < row; ++i)其中row為行數,col為列數
C語言二維陣列的排序問題,c語言二維陣列
不是。這麼說吧,陣列名本身就是指標,指向陣列的第一個元素。至於你所說的呼叫呼叫二級 二維吧 陣列,難道不是如普通變數般直接呼叫嗎?根據問題補充說,這是不允許的,main 函式的形參是固定的不能傳遞指標。而一般的自定義函式只能用傳遞首地址的形式來傳遞二維陣列,例子如下 定義 int a x y int...
c中如何向二維陣列整行賦值,C 中如何向二維陣列整行賦值?
tn瓶邪 方法是在一對大括號中,使用一個以逗號分隔的資料項列表。清單2 30宣告瞭一個字串陣列,然後在一對大括號中指定了9種不同的程式語言的名稱。宣告陣列的同時進行賦值 string languages 在這個以逗號分隔的列表中,第一項成為陣列的第一個元素,第二項成為第二個元素,依此類推。我們使用大...
c關於二維陣列的問題
include stdafx.h include conio.h include using namespace std void matrixchain int p,int n,int m 7 7 int s 7 7 void traceback int i,int j,int s 7 7 int...