int a[5]={1,2,3,4,5};
int *ptr1=(int *)(&a+1); //&a值于a一样, 但&a是指向数组的指针(指针的指针),&a+1指针增加了20(4*5)
int *ptr2=(int *)((int )a+1); //(int )a+1 指针增加了1
printf("%x,%x/n",ptr1[-1],*ptr2); ptr1[-1] //指针减少了4
printf("%p,%p/n",a,&a);
输出 5,2000000
int *ptr1=(int *)(&a+1); //&a值于a一样, 但&a是指向数组的指针(指针的指针),&a+1指针增加了20(4*5)
int *ptr2=(int *)((int )a+1); //(int )a+1 指针增加了1
printf("%x,%x/n",ptr1[-1],*ptr2); ptr1[-1] //指针减少了4
printf("%p,%p/n",a,&a);
输出 5,2000000