请问这个C语言中有参数的函数是怎么传递值的,调用的时候没有参数啊。

函数原型:voidToUpper(char*);调用:void(*pfun)(char*);//声明pfun=ToUpper;//在这里没有给ToUpper(char*)... 函数原型:void ToUpper (char *);
调用:
void (*pfun)(char *); //声明
pfun = ToUpper; //在这里没有给ToUpper (char *);这个函数传递值啊,它是怎么传递值的呢。
展开
 我来答
百度网友e29fac5
2012-11-20 · TA获得超过1315个赞
知道小有建树答主
回答量:790
采纳率:50%
帮助的人:601万
展开全部
这个不是函数调用,pfun是一个函数指针,可以指向所有返回值为void,参数为char*的函数,
这里pfun被赋值为ToUpper,以后调用ToUpper时就可以用pfun代替。
比如char a[] = "abc" ; pfun(a);
我若在床边
2012-11-20 · TA获得超过388个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:103万
展开全部
1.函数原型:void ToUpper (char *);
这句话是函数声明,函数声明参数可直接写成参数类型语法也是正确的;

2.void (*pfun)(char *);
这个是声明一个函数的指针,指针指向返回为void型函数的入口地址

3.pfun = ToUpper;
这句是赋值语句,函数的名称存放的也是指针,指针的值为函数的入口地址,

所以指针赋给指针式正确的,懂了没楼主
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wj_abcd2010
2012-11-20
知道答主
回答量:43
采纳率:0%
帮助的人:26.2万
展开全部
void (*pfun)(char *); //声明

定义一个指向函数的指针pfun,pfun指向的函数是有一个char*类型参数的空返回值函数;
pfun = ToUpper;
将一个符合条件的函数ToUpper赋值给pfun
接下来可以用指针pfun给函数ToUpper添加参数。
如:(*pfun)("aa");
如果不明白可以仔细看看函数指针的使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyz11499
2012-11-20
知道答主
回答量:33
采纳率:0%
帮助的人:16万
展开全部
因为pfun是一个指针,并且指向了ToUpper,它们两个指向同一块内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
御含灵9r
2012-11-20 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2678万
展开全部
这只是一个函数指针赋值,还没有调用.在下面可以用

(*pfun)("xxxx");
这样调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式