|  | 
 
3鱼币 
| char (*p)[5] 是指向5个char型数组的指针 
 char *(*p)[5] 是指向5个char型指针的 数组指针吗?
 
 本帖最后由 FK二十一 于 2022-3-23 12:45 编辑 
 首先它是一个指针*p,其次它指向的类型是 char*   [],即字符指针类型的指针数组。
 你可以理解为括号里面的指针指向套在他外面的数组,所以它是一个指向指针数组的数组指针。
 
 例如:
 char *array[3] = {"甲鱼","鲮鱼","草鱼"};        //char *类型的数组array
 char *(*p)[3] = &array;                                //括号里的*p指向数组array
 
 或许这样更好理解一点:
 char *array[3] = {"甲鱼","鲮鱼","草鱼"};     //char *,指针数组array
 char *(*p)[] = NULL;                                //声明一个数组指针p,不用写2是因为指针数组是一维的,规定
 //了类型也就规定了它每一步的步长,这个你可以以后再了解。
 p = &array;                                            //给指针赋值。
 对这个概念的理解的关键是由括号来区分优先级,进而形成的这一种表现形式。
 | 
 
最佳答案
查看完整内容 首先它是一个指针*p,其次它指向的类型是 char*   [],即字符指针类型的指针数组。
你可以理解为括号里面的指针指向套在他外面的数组,所以它是一个指向指针数组的数组指针。
例如:
char *array[3] = {"甲鱼","鲮鱼","草鱼"};        //char *类型的数组array
char *(*p)[3] = &array;                                //括号里的*p指向数组array
或许这样更好理解一点:
char *array[3] = {"甲鱼","鲮鱼","草鱼"};     ... |