方法1:用一維陣列代替二維陣列
int n,m;
cin>>n>>m;
int* a = new int[n*m];
for(int i = 0 ; icoutcout執行結果:
0 00491bb0 1 00491bb4 2 00491bb8
1 00491bbc 2 00491bc0 3 00491bc4
2 00491bc8 3 00491bcc 4 00491bd0
各個元素的記憶體位址是遞增的,是在堆區里分配的記憶體空間。
方法2:二維陣列
int n,m;
cin>>n>>m;
int** a = new int*[n];/建立指標陣列
for(int i = 0;ia[i] = new int[m];為每一行分配空間
for(int f =0;ffor(int j =0;ja[f][j] = f+j;為陣列賦值
for(int k = 0;kcout輸出結果:
00491b40 00491b44 00491b48
004918d0 004918d4 004918d8
00491890 00491894 00491898
每一行的相鄰元素位址是遞增的,連續的,不同行之間的位址就不連續了。
c 動態建立二維陣列
為了做乙個東西需要用到動態建立二維陣列,特此記錄.include include time.h using namespace std int main srand unsigned time null int x num int y num cout please input x num cin ...
動態建立二維陣列
c 中用new動態建立二維陣列的格式一般是這樣 type p n new type n 其中,type是某種型別,n是二維陣列的列數。採用這種格式,列數必須指出,而行數無需指定。在這裡,p的型別是type n 即是指向乙個有n列元素陣列的指標。還有一種方法,可以不指定陣列的列數 int p p ne...
動態建立二維陣列
1.c 中 使用陣列指標,分配乙個 指標陣列,將其首位址儲存在b中,然後再為指標陣列的每個元素分配乙個陣列 int b new int row 分配乙個指標陣列,將其首位址儲存在b中 for i 0 ib null 例 動態建立二維陣列 void main int col,row cin row c...