[問題] 三維陣列?

看板C_and_CPP作者 (安安)時間9年前 (2014/11/21 19:46), 9年前編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 問題(Question): 想問的問題是以下 int a[5][10][15]; printf("%d\n", &a[2] - &a[0]); printf("%d\n", a[2] - a[0]); 第一個 printf 是 2 第二個是 20 我知道如果只有a[2]是指"值",但目前是只有宣告但沒有給值,那會? 是代表什麼意思? 如果加了 &a[2] 意思是他的位址吧? 但想很久還是沒辦法推出是怎麼出現這兩個答案的 對於三維陣列非常的不了解 謝謝哦:) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.176.202 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1416570385.A.47D.html

11/21 20:27, , 1F
如果是二維,你知道原因嗎
11/21 20:27, 1F

11/21 20:27, , 2F
沒給值裡面都是亂值 相減=20是剛好
11/21 20:27, 2F

11/21 20:29, , 3F
先了解陣列decay和指標相減的意思,就會發現這很簡單
11/21 20:29, 3F

11/21 20:33, , 4F
抱歉看錯
11/21 20:33, 4F

11/21 20:34, , 5F
&a[2]-&a[0]=2 是說位置差兩格
11/21 20:34, 5F

11/21 20:35, , 6F
a[2]-a[0]=20是說位置差20格 兩個型態不同
11/21 20:35, 6F

11/21 20:35, , 7F
所以計算出來格子大小也不同
11/21 20:35, 7F

11/21 20:36, , 8F
所以差幾格也不同
11/21 20:36, 8F
好的,我思考一下 謝謝各位:) ※ 編輯: nsysukober (140.117.176.202), 11/21/2014 22:32:00

11/23 01:01, , 9F
這不是期中考題嗎 w
11/23 01:01, 9F
文章代碼(AID): #1KRoOHHz (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1KRoOHHz (C_and_CPP)