下列數字均為十進位表示法:一個以 C 語言構造的 row major(以列為主)的三維陣列如下:int M[4][5][6];其中依據微軟設計,每一個 int 的大小占 byte 。如果 M[1][2][3]所在記憶體位址是 ~,則 M[3][2][1]所在位址為何?
A~正確答案
B~
C~
D~
答案與詳解
M[1][2][3] 偏移量為 1*(5*6) + 2*6 + 3 = 45;M[3][2][1] 偏移量為 3*(5*6) + 2*6 + 1 = 103。兩者相差 103 - 45 = 58 個元素。每個元素 4 bytes,位址差為 58 * 4 = 232。200 + 232 = 432,佔 4 bytes 即 432~435。
