2011-08-16 28 views

回答

1

這取決於語言的實現,但更多的時候是將它們表示爲連續的內存塊行。 我寫關於它的my blog

分配數組存儲在堆存儲器作爲持續的 存儲器塊。二維數組(與上例相同)是 類似地存儲 - 數組的每一行(索引x,0 - x,n)一起存儲 ,因此要到達x,y單元格,我們必須轉到j +(i * 寬度)的地方。

有關hoiw陣列的更多細節用C++實現一起來看看: C++ Notes: 2-D Array Memory Layout

大多數我encoutered使用類似的方法來存儲多維數組的編程語言。

0

任何多維數組通過數組尋址函數線性化並將多維數組轉換爲單維數組。這個單維數組存儲在內存中。