如果定义一个普通的数组temp给数组指针,代码就是char(p)[5]=&temp,但是如果是指针数组temp的话就是char (p)[5]=&temp,为什么后者char后面要多加一个号?
char *(*p)[5]这么理解:
*p代表这是一个指针类型,变量名为p,去掉 * p后,就是这个指针指向的数据类型 ,就是 char * [5],也就是一个指针数组。而前面定义的 char * array[5]就是一个指针数组,所以p就是指针数组的地址
你可以理解为,
char *p[5]=array;
则
char *(*p)[5]=&array;