c 中二維陣列與二維向量的長度

2021-08-10 23:37:14 字數 647 閱讀 5954

對於乙個二維陣列:

int mm[3][5] = ,, };

int toatlnums = sizeof(mm) / sizeof(int); //元素總個數

int cols = sizeof(mm[0]) / sizeof(int); //行

int raws = totalnums / cols; //列

對於乙個二維向量:

vector> matrix = ,, };

int raws = matrix.size(); //行

int cols = matrix[0].size(): //列

int totalnums = raws * cols; //元素總個數

而對於向量:

sizeof(matrix) ;

sizeof(matrix[0]);

sizeof(vector>);

sizeof(vector);

sizeof(vector);

以上sizeof的結果都是16!

所以sizeof(vector)的大小,跟容器裡面存放多少資料無關,也與存放的資料型別無關,它是在編譯期確定的乙個值,僅跟具體的編譯器有關。

C 中二維陣列

一 為什麼要使用多維陣列 生活中,有很多事物,僅僅用一維陣列,將無法恰當地被表示。還是說學生成績管理吧。乙個班級30個學員,你把他們編成1到30號,這很好。但現在有兩個班級要管理怎麼辦?人家每個班級都自有自的編號,比如一班學生編是1 30 二班的學生也是1 30。你說,不行,要進行計算機管理,你們兩...

中 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。這道題可以直接用for暴力迴圈來做,但是不確定時間會不會超時。我也考慮過有序集用雙重二分查詢,但是這種查詢需要...

C 中二維陣列的使用

在c 中,如果陣列的元素又是陣列,則稱為二維陣列,其每一維對應乙個下標,第一維通常稱為行 row 第二維則稱為列 column 例如 int a 2 3 可以將二維陣列a看成是乙個2行 3列的矩陣。可以使用花括號括起來的初始化式列表來初始化二維陣列的元素。int a 2 3 也可以不使用花括號,而是...