鱼C论坛

 找回密码
 立即注册
查看: 2118|回复: 6

谁能告诉我这表示什么!!!

[复制链接]
发表于 2022-5-10 22:46:24 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
char *array[5] = {"Fishc", "Five", "Star", "Good", "WoW"};
char *(*p)[5] = &array;

那个*(*p)[5]的最外那个*表示什么意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-10 23:00:58 | 显示全部楼层
假如(*p)[5]  整个看成一个变量p ,
*(*p)[5]  就是*p咯。
指向 数组指针 的指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-10 23:28:08 | 显示全部楼层
表示这是一个指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-11 06:26:39 | 显示全部楼层
本帖最后由 山迟ovo 于 2022-5-11 06:30 编辑

首先,这是一个指针数组。
char *array[5] = {"Fishc", "Five", "Star", "Good", "WoW"};   //这条定义并初始化数组
char *(*p)[5] = &array;   //p是指向数组arrray的指针,并且这条是定义形式,括号中的*表示p是一个指针,括号外的char *表示p指向的数据类型。
array第0个元素类型为char *,所以在定义p的时候要加两个*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-11 10:06:28 | 显示全部楼层
本帖最后由 豆嘉木 于 2022-5-11 10:07 编辑

简单点说就是,char *(*p)[5]=&array的意思就是char *((*p)[5])=&array
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-11 10:35:31 | 显示全部楼层
char* (*p)[5] -> 指针数组指针,其为指针
是类型为char* [5]的指针,
p是指向一个存储5个指针数据的数组的指针。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-11 14:45:39 | 显示全部楼层
char *array[5] = {"Fishc", "Five", "Star", "Good", "WoW"};
        char *(*parray)[5] = &array;
       
        printf("array[0] is %s\n",*(*parray));
        printf("array[1] is %s\n",*(*parray+1));
        printf("array[2] is %s\n",*(*parray+2));
        printf("array[3] is %s\n",*(*parray+3));
        printf("array[4] is %s\n",*(*parray+4));

不懂就执行了一把,parray就是个指向了含有5个指针的数组啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-31 04:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表