我从以下代码的输出中得到的是
*(pa-1)=5
,为什么会这样呢?#include<iostream>
using namespace std;
int main(){
int a[5]={1,2,3,4,5};
int *pa=(int *)(&a+1);
cout<<"*(pa-1)="<<*(pa-1)<<endl;
}
T
是标准布局,(T*)[N]
可以转换为T*
并且可以返回第一个元素的地址。 - Kerrek SB