24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 305  |  回复: 2

jianchaoyv

金虫 (小有名气)

[交流] 【求助】请高手指点一个指针问题!!! 已有2人参与

char*(*c[10])(int **p) 这个语句的含义?

[ Last edited by jianchaoyv on 2010-12-13 at 20:47 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhougc

木虫 (正式写手)

黑社会老大

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3):辛苦了! 2010-12-14 09:51:26
这个问题很有意思,
让我们一层一层的剥掉它
char*(*c[10])(int **p)
应该见过这样的结构吧?
int (*f)(int i)
f是一个函数指针,表示指向函数的首地址,其实这个结构和int f(int i)是完全一样的。
因为f表示函数的名称,指向函数的首地址,而(*f)也是指向函数的首地址。

其实char*(*c[10])(int **p)这个表达式和这个结构类似,只是:
int 对应于 char *,表示函数的返回值是字符指针;
f 对应于 c[10],表示函数指针是一个数组;
int i 对应于 int **p,表示参数是一个指向指针的指针;

那么c[10]表示函数指针又代表什么意思呢?
它其实是一个数组,这个数组中的每一个元素都是一个指向函数名的指针,
(*c[10])可以理解为有十个元素的数组,
每个元素都是指向一个函数名的指针。

综合起来这个表达式可以理解成这个样子:
有一个十个元素的数组,每个数组都是一个指向一个函数名的指针;
这个被指向的函数,它的参数是int **p,表示一个指向指针的指针;
而这个函数的返回值是char *型。

建议你看一下指针数组和数组指针、函数指针和指针函数的区别。
--------------------------------------------------------------------------看着我表情呆滞的头像,记住我!这个社会已经让我没办法笑出来.请各位版主按时缴...
2楼2010-12-13 22:32:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

linyujack

铜虫 (小有名气)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3):一样辛苦了,欢迎常来程序语言版! 2010-12-14 09:51:57
(下面部分定义跟例子百度来的)

char *:
在C/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,专门用于指以'\0'为结束的字符串。

指向函数的指针:
函数名是该代码段的首地址,比如“int *fun()”。

双重指针:指向指针的指针,相当于一个二维数组。
------------------------------------------------------------------------
看这个例子:
#include   
void inc(int *val)   
{   
(*val)++;   
}   
main()  
 {   
   void (*fun)(int *);  
 int a=3;  
 fun=inc;  
 (*fun)(&a);  
 printf("%d" , a);  
 }
--------------------------------------------------------------
  char*(*c[10])(int **p) 与例子中的 void (*fun)(int *)很相似,
貌似声明了一个指向函数的指针:
指针所指向的函数的返回值为Char* 类型,
指针的命名存储在C[10]数组中,也就是有一组10个的指向函数的指针,
指针所指向的函数的传参为int型双重指针**p。

以上解释,纯属个人理解,没有程序验证过。
-----------------------------------------------------------------------
发晚一步,楼上已经有解。

[ Last edited by linyujack on 2010-12-13 at 22:39 ]
卓越不仅仅是单一的举动,而是一种习惯。
3楼2010-12-13 22:36:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jianchaoyv 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 366求调剂 +5 sbdnd 2026-04-03 5/250 2026-04-03 08:30 by JourneyLucky
[基金申请] 请问共同通讯和共同一作的认可度问题 10+4 psa1234 2026-04-01 9/450 2026-04-02 22:03 by god_tian
[考研] 求调剂22408 288分 +4 new382 2026-04-02 4/200 2026-04-02 16:07 by 氮气气气
[考研] 材料专业求调剂 +10 月月鸟木 2026-04-01 10/500 2026-04-02 12:57 by wxiongid
[考研] 英一数一408,总分284,二战真诚求调剂 +12 12.27 2026-03-30 14/700 2026-04-02 00:18 by 欣喜777
[考研] 材料调剂 +11 一样YWY 2026-03-31 11/550 2026-04-01 22:25 by zhouyuwinner
[考研] 0710生物学考研调剂 +3 李多米lee. 2026-03-27 4/200 2026-04-01 16:21 by zzchen2000
[考研] 材料专硕322分 +9 哈哈哈吼吼吼哈 2026-04-01 9/450 2026-04-01 14:30 by 无际的草原
[考研] 086000生物与医药298调剂求助 +4 元元青青 2026-03-31 6/300 2026-04-01 11:13 by syh9288
[考研] 318一志愿吉林大学生物与医药 求调剂 +6 笃行致远. 2026-03-28 6/300 2026-04-01 09:28 by oooqiao
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +5 双马尾痞老板2 2026-03-31 5/250 2026-04-01 09:04 by oooqiao
[考研] 合肥区域性重点一本招收调剂 +4 6266jl 2026-03-30 8/400 2026-03-31 18:43 by 6266jl
[考研] 299求调剂 +8 嗯嗯嗯嗯2 2026-03-27 8/400 2026-03-31 18:23 by lizhi8172
[考研] 315求调剂 +6 akie... 2026-03-28 7/350 2026-03-31 16:48 by asdfzly
[考研] 289求调剂 +3 Acesczlo 2026-03-29 4/200 2026-03-31 14:48 by 热情沙漠
[考研] 282求调剂 不挑专业 求收留 +4 Yam. 2026-03-30 5/250 2026-03-31 14:41 by 王亮_大连医科大
[考研] 一志愿中海洋材料357 +4 麦恩莉. 2026-03-30 4/200 2026-03-31 14:35 by 记事本2026
[考研] 313求调剂 +6 卖个关子吧 2026-03-31 6/300 2026-03-31 10:58 by Jaylen.
[考研] 哈尔滨工业大学材料与化工专硕378求调剂 +3 塔比乌斯 2026-03-30 3/150 2026-03-30 22:55 by 无际的草原
[考研] 一志愿华中师范化学332分求调剂 +3 Lyy930824@ 2026-03-29 3/150 2026-03-30 20:15 by DHUSHUAI
信息提示
请填处理意见