[問題] 記憶體配置的問題

看板Grad-ProbAsk作者 (烏龜回娘家)時間16年前 (2009/05/04 17:29), 編輯推噓0(009)
留言9則, 2人參與, 最新討論串1/2 (看更多)
當機器記憶體儲存是以row major表示,而sizeof(int)=4,如果我們宣告一個陣列int a[4][2][3],並配予記憶體空間後,已知&a=0x0012FE7C,求a[2][2][2]的位址為? (A)0x0012FEAC (B)0x0012FECC (C)0x0012FEC8 (D)0x0012FEC4 算不出答案~請幫忙一下,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.71.68.193

05/04 21:21, , 1F
[(2-0)*2*3 + (2-0)*3 + (2-0)] *4 + 0x0012FE7C,答案B
05/04 21:21, 1F

05/04 21:47, , 2F
請問陣列如果是從a[0][0][0]~ a[4][2][3]的話
05/04 21:47, 2F

05/04 21:47, , 3F
那u1=4-0+1=5 , u2=2-0+1=3 , u3=3-0+1=4 才對不是嗎?XD
05/04 21:47, 3F

05/04 21:47, , 4F
我搞迷糊了
05/04 21:47, 4F

05/04 23:28, , 5F
不用 +1,要求的位址的那行列不用,本來就只算到前一行列
05/04 23:28, 5F

05/04 23:31, , 6F
以這題來說,2-0 = 2 算的是第0第1 row共2 row
05/04 23:31, 6F

05/05 14:23, , 7F
我的意思是式子不是應該
05/05 14:23, 7F

05/05 14:24, , 8F
(2-0)*3*4 + (2-0)*4 + (2-0)] *4 + 0x0012FE7C 才對嗎?
05/05 14:24, 8F

05/05 14:32, , 9F
我有把另一題我的解法回應在下一篇,您可以看一下
05/05 14:32, 9F
文章代碼(AID): #19_hMNgK (Grad-ProbAsk)
文章代碼(AID): #19_hMNgK (Grad-ProbAsk)