首页 > 技术文章 > 对数组取地址

gaoyanqing 2015-04-24 14:15 原文

看下面一段代码

    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的类型。

推荐阅读