int *a[3];//指针数组,数组a中有3个元素,每个元素都是指针变量.
int (*a)[3];//指向一个多维数组的指针但是它是以一维数组的方式来表示的
写个例子你看看:
int (*p)[3]; //p是一个指向一维数组的指针,该数组有3个元素.
先看一段简单的:
int a[3][2]={1,2,3,4,5,6}; //只有二维数组才能使用int (*p)[2](a);
int (*p)[2](a); //这个地方一定要用2
cout<<*(*(p+2)+1); //*(p+2)等于行,所以为2,第二个1为列
getch(); return 0; //相当于a[2][1],所以输出为6
若输出cout<<**a; 相当于*(*(a+0)+0)
int (*p)[2](a)也可以写成int (*p)[2]=a;
若使用三维数组:
int a[2][2][2]={1,2,3,4,5,6,7,8};
int (*p)[2][2](a);
cout<<*(*(*(p+1)+1)+1);
getch(); return 0;
int *(a[3]);//这肯定是一个数组指针啦.它是把数组a定义成一个指针你要区分数组指针与指针 数组的概念.