最近需要寫乙個介面,函式每執行一次,需要儲存448路的資料,執行第二次,仍然儲存448路資料,麻煩的是,兩次448路資料需要合為乙個448路,這就要求,給乙個二維陣列,第一次直接儲存,第二次,偏移一定的長度後再儲存;
了解到三種方法可以實現:
1,new delete
int
main()
2,malloc,free
//2,malloc free 4*3的矩陣
int m =
4, n =3;
//申請
int*
*array_new =
(int**
)malloc
(sizeof
(int*)
*4);
for(
int i =
0; i <
4; i++
)display
(array_new,4,
3);//釋放
for(
int i =
0; i <
4; i++
) free (array_new[i]);
free (array_new)
;return
0;
這裡如果想把初始值用memset設為1的話,應該如何做呢?
直接把memset裡的value改為1,列印輸出的結果是16843009;很奇怪,但是轉為二進位制就明白原因了
原來memset是乙個位元組乙個直接的設定初始值
乙個位元組8bit ,所以1對應0000 0001;
乙個int,4個位元組,所以就是:
0000 0001 0000 0001 0000 0001 0000 0001
也就是十進位制的16843009
3,vector
//3,vector
//申請
vector
int>>
arrat_vector(4
, vector<
int>(3
,1))
;//列印
for(
int i =
0; i != arrat_vector.
size()
; i++
) cout << endl;
}//釋放,vector會自動釋放,只要不是用malloc和new定義的vector,都不用手動釋放
二維陣列動態申請與傳參
今天在寫八皇后時遇到了一些小問題,下面整理一下。用二階指標來申請 include include 這裡只做申請 void makedoublearray int row,int col for i 0 i row i free array void main void 用二維陣列指標申請 inclu...
二維陣列如何申請和釋放
1,二維陣列的申請 typedef struct dictht dictht typedef struct dictentry v struct dictentry next dictentry 假如有這樣的乙個二維陣列,dictentry table,如何來申請呢?首先要明白dictentry t...
動態申請二維陣列並釋放方法
c c 中動態開闢一維 二維陣列是非常常用的,以前沒記住,做題時怎麼也想不起來,現在好好整理一下。c 中有三種方法來動態申請多維陣列 1 c中的malloc free 2 c 中的new delete 3 stl容器中的vector 下面逐一介紹 1.動態開闢一維陣列 cpp view plain ...