对数组取地址

看下面一段代码

    int a[]={1,2,3,4};
    int *ptr=(int*)(&a+1);
    cout <<*(ptr-1)<<endl;  

输出为4,这里&a是 int[4]*类型的,所以+1相当于地址加sizeof(int[4]),

总结,对于指针T* p,加1相等于地址加sizeof(T),所以关键是看好T的类型。

原文地址:https://www.cnblogs.com/gaoyanqing/p/4453333.html