看板 java 關於我們 聯絡資訊
剛開始看java。 我記得在 c裡是連續。 之前看同學有一本java 資料結構的書寫算位置的公式是連續的? 就是那個等差公式。所以,我以為如此。 後來看到同學寫矩陣運算的公式,說是二維要access兩次,所以要寫成一維; 不過根据公式,不是只有一次嗎?而且 int[][] x = new int[2][4] 感覺就只有 return 一個pointer。現在才知memeory allocation在java不是連續。 thanks -- 問我同學? 他在巨匠花了快20萬,結果...一問三不知。 二維要寫成一維是某個老師為了要教他寫程式給他的homework ※ 引述《FHTsai (無法理解的愛)》之銘言: : ※ 引述《jtmh ()》之銘言: : :   Java 中的二維陣列都是「陣列的陣列」, : :   也就是第二種寫法的形式, : :   而且第一種寫法在行為上其實也等效於第二種 [註], : :   也因為這樣, : :   二維陣列的記憶體並不會是全部連續的。 : :   註:詳見 JLS 說明 - http://tinyurl.com/l8p8k8 : 的確,本質上二維陣列是一維陣列物件的集合,而既然是物件的集合, : 便沒辦法保證在記憶體中是連續的排在一起... : 只能說,這些一維陣列的參照是連續的放在記憶體中罷了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.203.67