c/c++中動態開闢一維、二維陣列是非常常用的,以前沒記住,做題時怎麼也想不起來,現在好好整理一下。
c++中有三種方法來動態申請多維陣列
(1)c中的malloc/free
(2)c++中的new/delete
(3)stl容器中的vector
下面逐一介紹:
1.動態開闢一維陣列
//動態開闢一維陣列
void dynamiccreate1array()
執行結果:
2.動態開闢二維陣列
//動態開闢二維陣列
void dynamiccreate2array()
//輸入資料
printf("請輸入數:");
for(i = 0 ; i < m;i++)
for(j = 0; j < n;j++)
scanf("%d",&p[i][j]);
//輸出資料
for(i = 0 ; i < m;i++)
printf("\n");
} //釋放開闢的二維空間
for(i = 0; i < m;i++)
free(*(p+i));
}
執行結果:
1.動態開闢一維陣列
void dynamiccreate1array()
{ int len;
cout<
cin>>len;
int *p = new int[len];
cout<
for(int i = 0; i < len; i++)
cin>>p[i];
cout<
2.動態開闢二維陣列
void dynamiccreate2array()
{ int m,n;
cout<
cin>>m>>n;
//動態開闢空間
int **p = new int*[m]; //開闢行
for(int i = 0; i < m; i++)
p[i] = new int[n]; //開闢列
cout<
for(i = 0 ; i < m ; i++)
for(int j = 0; j < n; j++)
cin>>p[i][j];
cout<
動態開闢二維陣列
void vectorcreate()
{ int m,n;
cout<
cin>>m>>n;
//注意下面這一行:vector "之間要有空格!否則會被認為是過載 "> > "。
vector> p(m,vector(n));
cout<
for(int i = 0 ; i < m ; i++)
for(int j = 0; j < n; j++)
cin>>p[i][j];
cout<
動態申請二維陣列並釋放方法
c c 中動態開闢一維 二維陣列是非常常用的,以前沒記住,做題時怎麼也想不起來,現在好好整理一下。c 中有三種方法來動態申請多維陣列 1 c中的malloc free 2 c 中的new delete 3 stl容器中的vector 下面逐一介紹 1.動態開闢一維陣列 cpp view plain ...
C 中動態申請二維陣列
這裡主要介紹c 中動態申請二維陣列的兩種方式,直接給出 很容易明白,簡單的作為乙個筆記。include include 輸入輸出操縱 include using namespace std 法一 new 方式申請 void dynamicarray for i 0 i rows i cout end...
C 動態申請二維陣列
剛學習,做下總結。以下是我的理解,如有錯誤歡迎指出。申請 int a 乙個指向指標的指標。int n m cin n m a new int n 申請乙個n個元素的一維陣列 作為行 for int i 0 i 關係如下假設 n 3 m 4 先申請乙個一維陣列,陣列的每個元素都是乙個指標變數 該陣列的...