代码: 123456789101112 #include <stdlib.h>int (void){ int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf("%d %dn", *(a + 1), *(ptr - 1)); system ("pause"); return 0;} 输出: 12 2 5请按任意键继续. . . 从输出 2 可见a是和a[0]是一样的; &a + 1移动的是一个整个数组的长度,(int *)(&a + 1)强制类型转换为 int 型,*(ptr - 1))再往后移动一个 int,所以输出的是 5。 赞微海报分享
近期评论