13 大部分程式語言都是以列為主(row major)的方式儲存陣列。在一個 8 4 的二維陣列(array)A 裡面(A 為以列為主的方式儲存陣列),若每個陣列元素需要兩個單位的記憶體大小,且若 A[0][0]的記憶體位址 為 108(十進制表示),則 A[1][2]的記憶體位址為何?
(A) 120
(B) 124
(C) 126
(D) 128

答案:登入後查看
統計: A(105), B(17), C(24), D(25), E(0) #2593672

詳解 (共 2 筆)

#4570739

陣列在記憶體中為連續排列, A[8][4] 的二維陣列

A[0][0]  + 0
A[0][1]  + 1
A[0][2]  + 2
A[0][3]  + 3
A[1][0]  + 4
A[1][1]  + 5
A[1][2]  + 6
A[1][3]  + 7
........

因此 A[1][2] 是從 A[0][0] 開始算 + 6 個元素, 若每個元素占 2 個記憶單位, 則差距是 2*6=12 個記憶單位, 故 A[1][2] 的位址是 108+12=120, 答案為 (A).

6
0
#4876982
(橫列直行) 先補列數在+行格子數108...
(共 120 字,隱藏中)
前往觀看
6
0