指针数组与数组指针的区别
指针数组:用于存储指针的数组,数组元素都是指针。
定义: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