Re: [問題] 二維陣列是連續的嗎?
※ 引述《jtmh ()》之銘言:
: ※ 引述《hardcover (如是如是)》之銘言:
: : 請問一下,以下宣告有何不同
: : int [][] x = new[2][4];
: : ---
: : int [][] x;
: : x = new int[2][];
: : x[0] = new int[4];
: : x[1] = new int[4];
: Java 中的二維陣列都是「陣列的陣列」,
: 也就是第二種寫法的形式,
: 而且第一種寫法在行為上其實也等效於第二種 [註],
: 也因為這樣,
: 二維陣列的記憶體並不會是全部連續的。
: 註:詳見 JLS 說明 - http://tinyurl.com/l8p8k8
的確,本質上二維陣列是一維陣列物件的集合,而既然是物件的集合,
便沒辦法保證在記憶體中是連續的排在一起...
只能說,這些一維陣列的參照是連續的放在記憶體中罷了
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.143.144.43
討論串 (同標題文章)