一句话总结:注意指针根据指向类型不同是有步长的,如指向结构体指针步长是一个结构体大小。
a是个int指针,步长是一个int大小,&a则是数组的地址,步长是数组大小。
#include <stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int *p=(int *)(&a+1);
printf("%d\n",*(p-1)); //结果是5
return 0;
}
一句话总结:注意指针根据指向类型不同是有步长的,如指向结构体指针步长是一个结构体大小。
a是个int指针,步长是一个int大小,&a则是数组的地址,步长是数组大小。
#include <stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int *p=(int *)(&a+1);
printf("%d\n",*(p-1)); //结果是5
return 0;
}