Re: [問題] 記憶體配置的問題
※ 引述《ysbh (烏龜回娘家)》之銘言:
: 當機器記憶體儲存是以row major表示,而sizeof(int)=4,如果我們宣告一個陣列int
: a[4][2][3],並配予記憶體空間後,已知&a=0x0012FE7C,求a[2][2][2]的位址為?
: (A)0x0012FEAC (B)0x0012FECC (C)0x0012FEC8 (D)0x0012FEC4
: 算不出答案~請幫忙一下,感謝
因為這一題讓我產生了疑惑~
(A)021.考慮一個三維陣列A(1..3,1..4,1..6),並以列為主(row major)的方式存放於記
憶體中。假設每一個資料元素佔一個記憶體位址,若A(1,2,4)存放在第127個記憶體位址
,則A(2,1,2)存放第幾個記憶體位址?(A)143 (B)145 (C)147 (D)149
A(1..3,1..4,1..6)--> u1=3-1+1=3 ; u2=4-1+1=4 ; u3=6-1+1 =6
又 A(1,2,4) --> A(1,1,1) = 127
所以 A(2,1,2) --> A(2,0,-1)= A(1,1,1) + 1x4x6 - 1x6 -2
= 127 + 24 -6 -2
= 143
所以得到的答案是A
但是計算上面那一題卻出現了問題~
原因在於 u1,u2,u3這個陣列的範圍
若按您的作法~的確可以得到正確答案
但是這樣的作法似乎把陣列的範圍給弄錯了~
所以很困惑~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.71.68.193
推
05/05 16:26, , 1F
05/05 16:26, 1F
→
05/05 17:10, , 2F
05/05 17:10, 2F
→
05/05 17:32, , 3F
05/05 17:32, 3F
→
05/05 17:34, , 4F
05/05 17:34, 4F
→
05/05 18:50, , 5F
05/05 18:50, 5F
討論串 (同標題文章)