比方说定义一个三行四列的数组a[3][4]书上说:a,a[0],*(a+0),*a,&a[0][0]是相等的,这样写是不是疯了呀? 前面不带*号的表示地址,带*的不就是表示数组首元素的值吗?求大婶指教,难道是我疯了?
问题是:a是数组首元素地址,a前面加上*号不就是取这个地址所指向的值吗?
它这么说的应该是没有错的
全是a[0][0]的地址
a是数组首地址是a[0][0]的地址
a[0]是a[0]行的首地址,还是a[0][0]的地址
*(a+0)和a[0]是一样的
&a[0][0]就是a[0][0]的地址,所以全是一样的
大哥,你不相信我,你也要相信电脑啊:
这题中没有出现二级指针,一直都是同一个数组,所以这四个就是相等的
看完要是你都还不信,我就没有办法拯救你了
你说的没有错,但这是个特例,数组首地址和第一行的首地址就是同一个数的地址啊,怎么会不一样呢就象你学减法一样,减掉一个数之后和本身就不一样了,但你遇到了0,也是没有办法的