关于int (*p)[5]的情况
#include<iostream>
using namespace std;
int main()
{
int a[] = {1,2,3,4,5};
int (*p)[5] =&a; //这里是*p是指向 一个五个元素的数字;然后=&a;就是是p指向了数组a吗;如果int (*p)[4]=&a或int (*p)[6]=&a 会怎么样
cout<<*p; //*p不是解引用吗 输出的怎么是地址? 是a的首地址吗
cout<<endl<<**p; //这倒是输出了a【0】的值 为什么
cout<<endl<<&p;//这个是输出指针p本身的地址吧
int i;
cin>>i;
return 0;
}
[解决办法]
一般而言(*p)[5]是一个指向二维数组的指针;
如果你要指向如上的一维数组:
int a[] = {1,2,3,4,5};
int *p = a;//就可以了