关于c语言函数指针的问题

有这么一个函数void(*fun)(int),我不太明白他的返回值是什么类型,是空类型吗?还有他的形参是什么?大家帮我解答下啊,谢谢了??... 有这么一个函数void(*fun)(int),我不太明白他的返回值是什么类型,是空类型吗?还有他的形参是什么?大家帮我解答下啊,谢谢了?? 展开
 我来答
匿名用户
2012-11-09
展开全部
1.fun是一个函数指针,即fun还不是一个函数,只是一个可以指向函数的指针,利用这个指针可以调用函数,这个函数的返回值为空,带有一个int型参数.例如:
void f(int x)
{
printf("%d",x);
}
void main()
{
void(*fun)(int);
fun=f; //fun指向函数f
fun(10);//通过fun调用函数f
}
2.void *fun(int),这个fun是一个指针函数,即函数返回值不是函数值本身,而是函数值的地址,也就是说,fun是函数值为指针的函数;但这个定义没有意义,因为函数类型为void,即不必使用函数值
xxf_cz
2012-11-09 · TA获得超过144个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:123万
展开全部
返回值类型是 void,即没有返回值。

另外,这个 void (*fun)(int) 不是函数,而是函数指针。
追问
他的返回值是什么和入口参数是什么呀?
追答
入口参数是 int 类型。

对于函数指针的定义,可以分为三个部分来看:
1、左边,是返回值类型,即 void
2、中间,也是一对括号,其内的东西是 指针变量的声明本身,即 *fun,函数指针变量是fun
3、右边,是一对括号,其内的东西是入口参数,即 (int)

又如:QString * (*pf) (char, int);
返回值是 QString *
函数指针变量是 pf
参数有两个,char 和 int
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
2012-11-09 · TA获得超过7293个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:3952万
展开全部
比如有个函数
void f(int a); // 无返回值
fun p = f; // 给函数指针 p 赋值 f ,形参当然就是int a了
p(n); // 相当于调用了 f(n);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2012-11-09 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4342万
展开全部
前面是void,就没有返回值咯。
追问
如果是void  *fun(int)返回值是任何类型的吧?
追答
没有返回值呀!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anglerbug_
2012-11-09 · TA获得超过6.9万个赞
知道大有可为答主
回答量:9104
采纳率:75%
帮助的人:3498万
展开全部
返回值是 void类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式