请问这个C语言中有参数的函数是怎么传递值的,调用的时候没有参数啊。
函数原型:voidToUpper(char*);调用:void(*pfun)(char*);//声明pfun=ToUpper;//在这里没有给ToUpper(char*)...
函数原型:void ToUpper (char *);
调用:
void (*pfun)(char *); //声明
pfun = ToUpper; //在这里没有给ToUpper (char *);这个函数传递值啊,它是怎么传递值的呢。 展开
调用:
void (*pfun)(char *); //声明
pfun = ToUpper; //在这里没有给ToUpper (char *);这个函数传递值啊,它是怎么传递值的呢。 展开
6个回答
展开全部
1.函数原型:void ToUpper (char *);
这句话是函数声明,函数声明参数可直接写成参数类型语法也是正确的;
2.void (*pfun)(char *);
这个是声明一个函数的指针,指针指向返回为void型函数的入口地址
3.pfun = ToUpper;
这句是赋值语句,函数的名称存放的也是指针,指针的值为函数的入口地址,
所以指针赋给指针式正确的,懂了没楼主
这句话是函数声明,函数声明参数可直接写成参数类型语法也是正确的;
2.void (*pfun)(char *);
这个是声明一个函数的指针,指针指向返回为void型函数的入口地址
3.pfun = ToUpper;
这句是赋值语句,函数的名称存放的也是指针,指针的值为函数的入口地址,
所以指针赋给指针式正确的,懂了没楼主
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void (*pfun)(char *); //声明
定义一个指向函数的指针pfun,pfun指向的函数是有一个char*类型参数的空返回值函数;
pfun = ToUpper;
将一个符合条件的函数ToUpper赋值给pfun
接下来可以用指针pfun给函数ToUpper添加参数。
如:(*pfun)("aa");
如果不明白可以仔细看看函数指针的使用。
定义一个指向函数的指针pfun,pfun指向的函数是有一个char*类型参数的空返回值函数;
pfun = ToUpper;
将一个符合条件的函数ToUpper赋值给pfun
接下来可以用指针pfun给函数ToUpper添加参数。
如:(*pfun)("aa");
如果不明白可以仔细看看函数指针的使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为pfun是一个指针,并且指向了ToUpper,它们两个指向同一块内存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这只是一个函数指针赋值,还没有调用.在下面可以用
(*pfun)("xxxx");
这样调用
(*pfun)("xxxx");
这样调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询