[问题] 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