簡體   English   中英

兩種創建二維數組方法的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM