数组首地址和指针

main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1);// 这个是数组的偏移 printf("%d,%d",*(a+1),*(ptr-1)); } 输出: 2,5 *(a+1 )就是 a[1] , *(ptr-1) 就是 a[4], 执行结果是 2 , 5 &a+1 不是首地址 +1 ,系统会认为加一个 a 数组的偏移,是偏移了一个数组的大小(
相关文章
相关标签/搜索