[英]Difference between two methods of creating of 2d array
兩個數組定義有什么區別? 他們在記憶中意識到了什么?
int var = 5;
int (*p4)[2] = new int [var][2]; // first 2d array
int** p5 = new int*[var]; // second 2d array
for(int i = 0; i < var; ++i){
p5[i] = new int[2];
}
是的,他們非常不同。 第一個是真正的單個陣列; 第二個實際上是var+1
數組,可能分散在你的RAM中。 var
數組保存數據,並且一個保存指向var
數據數組的指針。
第一個是普通的,完全連續的陣列,第二個也稱為鋸齒狀陣列或lliffe矢量,並且可以例如用於表示三角形結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.