C 動態建立二維陣列

2021-05-17 18:47:25 字數 681 閱讀 1034

方法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...