发布网友 发布时间:2024-10-15 01:07
共3个回答
热心网友 时间:2024-10-16 00:08
int *p=(int *)(&a+1);对于a[5]来说a是该数组的首地址,而&a是该数组的行地址,虽然值是一样,但意义不同,而&a+1则表示该数组存储单元的后一个地址,a+1表示数组的第二个元素的地址。p[-1]表示p所在地址减一的地址下的值,也就是a[4]的值热心网友 时间:2024-10-16 00:13
&a 代表的是一维数组行地址 加1 即加1行 因此 &a+1 即为&a[5] 。热心网友 时间:2024-10-16 00:10
个人理解 int *p=(int *)(&a+1); 这里相当于把一维数组变成2维数组了