看板 Grad-ProbAsk 關於我們 聯絡資訊
當機器記憶體儲存是以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
ssccg:[(2-0)*2*3 + (2-0)*3 + (2-0)] *4 + 0x0012FE7C,答案B 05/04 21:21
ysbh:請問陣列如果是從a[0][0][0]~ a[4][2][3]的話 05/04 21:47
ysbh:那u1=4-0+1=5 , u2=2-0+1=3 , u3=3-0+1=4 才對不是嗎?XD 05/04 21:47
ysbh:我搞迷糊了 05/04 21:47
ssccg:不用 +1,要求的位址的那行列不用,本來就只算到前一行列 05/04 23:28
ssccg:以這題來說,2-0 = 2 算的是第0第1 row共2 row 05/04 23:31
ysbh:我的意思是式子不是應該 05/05 14:23
ysbh:(2-0)*3*4 + (2-0)*4 + (2-0)] *4 + 0x0012FE7C 才對嗎? 05/05 14:24
ysbh:我有把另一題我的解法回應在下一篇,您可以看一下 05/05 14:32