三、指针数组和二维数组指针的区别
1、指针数组和二维数组指针变量的区别
int *p[3]={&a,&b,&c}; //p是一个指针数组
int (*p)[3]; //二维数组指针
区别:
这两者虽然都可用来表示二维数组,但是其表示方法和意义是不同的。
二维数组指针变量是单个的变量,其一般形式中“(*指针变量名)”两边的括号是不可少的。而指针数组类型表示的是多个指针(一组有序指针)在一般形式中“ *指针数组名”两边不能有括号。
例如:
int (*p)[3];
表示一个指向二维数组的指针变量。该二维数组的列数为3或分解为一维数组的长度为3
int *p[3];
表示p是一个指针数组,有三个下标变量p[0],p[1],p[2]均为指针变量。