[問題] 2D array的address

看板C_and_CPP (C/C++)作者 (brotherD)時間8年前 (2018/04/23 11:20), 編輯推噓2(208)
留言10則, 3人參與, 7年前最新討論串1/5 (看更多)
圖片: https://imgur.com/a/8Q7d3GH 在這個影集當中,我不懂為什麼*B or B[0]是400,不是應該是2嗎? &B[0][0]是400我能理解,但沒辦法理解*B與B[0],影片中也沒提到為什麼 自己用了GCC,compile後也是同樣結果 能請前輩們提供一下線索嗎?_? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.26.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1524453646.A.F14.html

04/23 11:32, 8年前 , 1F
都是指到同一個記憶體位置啊
04/23 11:32, 1F

04/23 11:44, 8年前 , 2F
B[0][0]才是2 你這根上一篇有類似的狀況
04/23 11:44, 2F

04/23 11:45, 8年前 , 3F
B的型態是 int[2][3]
04/23 11:45, 3F

04/23 11:46, 8年前 , 4F
原來就是同一個人XD
04/23 11:46, 4F

04/23 11:46, 8年前 , 5F
所以簡單說B[0]的型態是 int[3]
04/23 11:46, 5F

04/23 11:47, 8年前 , 6F
B[0][0]才是int
04/23 11:47, 6F

04/23 11:49, 8年前 , 7F
你去看sizeof(B) sizeof(B[0]) 和sizeof(B[0][0])
04/23 11:49, 7F

05/05 18:15, 7年前 , 8F
他少畫一個陣列 你自己畫兩格連續位址 第一格寫B[0]拉根箭
05/05 18:15, 8F

05/05 18:15, 7年前 , 9F
頭指向B[0][0] 第二格寫B[1]箭頭指向B[1][0] 這樣你就看得
05/05 18:15, 9F

05/05 18:15, 7年前 , 10F
懂了
05/05 18:15, 10F
文章代碼(AID): #1QtL4EyK (C_and_CPP)
文章代碼(AID): #1QtL4EyK (C_and_CPP)