int a[] = {1,2,3,4,5}; int *ptr = (int *)(&a + 1); cout << *(a+1) << endl << *(ptr-1) << endl;
运行结果为:2 5
注意第二行,取数组a的地址,之后加1,(&a + 1); 指针移动一个数组的大小的距离,实际上指向了超出数组a末尾元素的位置。