谁能告诉我这表示什么!!!
char *array = {"Fishc", "Five", "Star", "Good", "WoW"};char *(*p) = &array;
那个*(*p)的最外那个*表示什么意思? 假如(*p)整个看成一个变量p ,
*(*p)就是*p咯。
指向 数组指针 的指针 表示这是一个指针 本帖最后由 山迟ovo 于 2022-5-11 06:30 编辑
首先,这是一个指针数组。
char *array = {"Fishc", "Five", "Star", "Good", "WoW"}; //这条定义并初始化数组
char *(*p) = &array; //p是指向数组arrray的指针,并且这条是定义形式,括号中的*表示p是一个指针,括号外的char *表示p指向的数据类型。
array第0个元素类型为char *,所以在定义p的时候要加两个*
本帖最后由 豆嘉木 于 2022-5-11 10:07 编辑
简单点说就是,char *(*p)=&array的意思就是char *((*p))=&array char* (*p) -> 指针数组指针,其为指针
是类型为char* 的指针,
p是指向一个存储5个指针数据的数组的指针。 char *array = {"Fishc", "Five", "Star", "Good", "WoW"};
char *(*parray) = &array;
printf("array is %s\n",*(*parray));
printf("array is %s\n",*(*parray+1));
printf("array is %s\n",*(*parray+2));
printf("array is %s\n",*(*parray+3));
printf("array is %s\n",*(*parray+4));
不懂就执行了一把,parray就是个指向了含有5个指针的数组啊。
页:
[1]