指针数组与数组指针的区别

指针数组:用于存储指针的数组,数组元素都是指针。

定义:int* p[n]   []优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。

int main()
{
    int a[3]={1,2,3};
    int* s[3];
    for(int i=0;i<3;i++)
    {
        s[i]=&a[i];
    }
    cout<<*s[2];
    return 0;
}

结果: 3.

数组指针:指向数组的指针。

int (*p2)[10],指针p2是一个指向十个整型数据数组的指针

int main()
{
   char a[5]={'A','B','C','D'};
   char (*p3)[5] = &a;//&a 是整个数组的首地址,a是数组首元素的首地址
 //  char (*p4)[5] = a;
   cout<<*p3[2];
   return 0;
}

结果:C

 

posted @ 2015-11-08 16:50  Si考者  阅读(288)  评论(0编辑  收藏  举报