4 若一整數陣列(array)使用C程式語言之語法宣告為K[12] [12] [12],且K[7] [7] [7]儲存於記憶體中之位址(address)為631976。假設記憶體中儲存一個整數(integer)資料必須使用4個位元組(byte),且使用列為主順序(row major order)之方式儲存陣列之組成元素,則下列各選項何者正確?
(A)K[2] [2] [2] 儲存於記憶體中之位址(address)為628832
(B)K[3] [1] [5] 儲存於記憶體中之位址(address)為629376
(C)K[8] [3] [10] 儲存於記憶體中之位址(address)為632376
(D)K[1] [6] [8] 儲存於記憶體中之位址(address)為628468

答案:登入後查看
統計: A(35), B(140), C(89), D(27), E(0) #316614

詳解 (共 3 筆)

#1011510
(B)K[7] [7] [7]   -) K[3] [1] [5]
  = ( ([4]*12*12 )+ [6]*12 + [2] )*4
  = 2600 (兩位置差)
  
K[7] [7] [7]=631976 減去2600   =K[3] [1] [5]位置 629376 
9
0
#1012018

(A)K[2] [2] [2] 儲存於記憶體中之位址(address)為628836
(C)K[8] [3] [10] 儲存於記憶體中之位址(address)為632372

(D)K[1] [6] [8] 儲存於記憶體中之位址(address)為628476
假設起始位址為K(1,1,1)=lo
由K(7,7,7)=631976=lo+[(7-1)*12*12+(7-1)*12+(7-1)]*4
得lo=628208
 
5
1
#2398590
(C)K[8] [3] [10] 儲存於...
(共 87 字,隱藏中)
前往觀看
1
1