[問題] 2D array的address

作者: zzss2003 (brotherD)   2018-04-23 11:20:44
圖片: https://imgur.com/a/8Q7d3GH
在這個影集當中,我不懂為什麼*B or B[0]是400,不是應該是2嗎?
&B[0][0]是400我能理解,但沒辦法理解*B與B[0],影片中也沒提到為什麼
自己用了GCC,compile後也是同樣結果
能請前輩們提供一下線索嗎?_?
謝謝
作者: asilzheng (asil)   2018-04-23 11:32:00
都是指到同一個記憶體位置啊
作者: KanzakiHAria (神崎・H・アリア)   2018-04-23 11:44:00
B[0][0]才是2 你這根上一篇有類似的狀況B的型態是 int[2][3]原來就是同一個人XD所以簡單說B[0]的型態是 int[3]B[0][0]才是int你去看sizeof(B) sizeof(B[0]) 和sizeof(B[0][0])
作者: attis   2018-05-05 18:15:00
他少畫一個陣列 你自己畫兩格連續位址 第一格寫B[0]拉根箭頭指向B[0][0] 第二格寫B[1]箭頭指向B[1][0] 這樣你就看得懂了

Links booklink

Contact Us: admin [ a t ] ucptt.com