int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d",*(ptr-1));
输出是5
int a[5]={1,2,3,4,5};
int *ptr=(int *)(a+1);
printf("%d",*(ptr-1));
输出是1
我能理解第二个例子,可是第一个例子是什么意思?
我尝试把a和&a都印了出来,发现两个位址是一样的
a+1和&a+1分别和a及&a的位址差距,一个是4一个是20(4*5)
可以理解是跟矩阵大小有关
但还是不理解&a+1的意思...
有人可以帮我解说吗??
感谢!