C/C++注 意数组后面的取地址符!!

#include<iostream>
#define Min(a,b) (a>b?b:a)
using namespace std;
int main()
{
    int a[5]={1,2,3,4,5};    int *p=(int *)(&a+1);//本身数组名就是地址了,也就是数组名就是指针,>取数组的地址,也就是取指针的地址,即p为指向数组的指针(指针的指针),当&a+1,p指向的其实是数组末尾5后面的地址,当p-1,往回退一格回到数组的末尾,>即5。
    int *p1;
    p1=a+1;
    cout<<*(p-2)<<endl;
    cout<<*p1<<endl;

}

 

posted @ 2017-03-30 09:38  爱编程的小羊  阅读(948)  评论(0编辑  收藏  举报