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的意思...
有人可以幫我解說嗎??
感謝!