对数组取地址

看下面一段代码

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

posted on 2015-04-24 14:15  gaoyanqing  阅读(196)  评论(0编辑  收藏  举报

导航