网站首页 > 文章中心 > 其它

c语言函数形参的书写

作者:小编 更新时间:2023-09-01 19:34:55 浏览量:36人看过

问:若C语言形式参数为函数的函数怎么写?有例子的采纳后会加分.

我以前答过的一个题的例子拿给你看看.

函数名:errorSetHandler

参数:function是个函数类型的变量,void (*)(int, char_t *),这个函数类型有两个参数,一个整型,一个char_t *的指针型,返回是个void *指针.

返回:是个函数类型,void (*)(int , char_t *),类型说明跟上面一样.

void (*errorSetHandler(void (*function)(int etype, char_t *msg)))(int etype, char_t *msg)

{

void (*oldHandler)(int etype, char_t *buf); //定义一个函数void (*)(int , char_t *)类型的函数变量oldHandler

oldHandler = errorHandler; //把errorHandler赋给oldHandler,errorHandler应该也是个函数变量

errorHandler = function; //把参数function赋给errorHandler

return oldHandler; //返回函数变量oldHandler的值

}

补充一下:

通过typedef可以简化这个函数的形式:

typedef void (*ErrHdlr)(int, char_t *);

然后这个函数可以简化成:

ErrHdlr errorSetHandler(ErrHdlr function)

ErrHdlr oldHandler;

oldHandler = errorHandler;

errorHandler = function;

return oldHandler;

这样是不是就很直观了

c语言 形参 实参 详解 谢谢

形式参数和实际参数

函数的参数分为形参和实参两种.在本小节中,进一步介绍形参、实参的特点和两者的关系.形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用.实参出现在主调函数中,进入被调函数后,实参变量也不能使用.形参和实参的功能是作数据传送.发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送.

函数的形参和实参具有以下特点:

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.所以呢,形参只有在函数内部有效.函数调用结束返回主调函数后则不能再使用该形参变量.

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参.所以呢应预先用赋值,输入等办法使实参获得确定值.

实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配"的错误.

函数调用中发生的数据传送是单向的.即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参.

所以呢在函数调用过程中,形参的值发生改变,而实参中的值不会变化.

【例】可以说明这个问题.

main()

int

n;

printf("input

number\n");

scanf("%d",n);

s(n);

printf("n=%d\n",n);

s(int

n)

i;

for(i=n-1;i=1;i--)

n=n+i;

本程序中定义了一个函数s,该函数的功能是求∑ni的值.在主函数中输入n值,并作为实参,在调用时传送给s

函数的形参量n(

注意,本例的形参变量和实参变量的标识符都为n,但这是两个不同的量,各自的作用域不同).在主函数中用printf

语句输出一次n值,这个n值是实参n的值.在函数s中也用printf

在c语言中形参与实参是如何定义的

在C语言中,形参即为形式参数.它在整个函数编译的时候,没有实际的数据赋于它,仅仅作于定义某个函数或者函数名.

而实参既为实际参数.顾名思义,在函数中,有一个特定的数据赋值给它,可以作于在函数中进行运算.

比如:

void

a=1,b;

b=function(a);

//a作于在函数中进行运算,是实参

function(int

c)

//c作于定义function函数,是形参

{}

C语言中什么是形参,什么是实参?

形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数.

形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参.

实参:全称为"实际参数"是在调用时传递给函数的参数,即传递给被调用函数的值.

实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参. 所以呢应预先用赋值,输入等办法使实参获得确定值.

扩展资料:

形参和实参的特点:

①.、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.所以呢,形参只在函数内部有效.函数调用结束返回主调用函数后则不能再使用该形参变量.

c语言 函数做函数的形参

主函数的实参是由操作系统传递的.

c++规定的主函数标准格式(c语言未具体规定):int

main(int

argc,

char

*argv[])

其中int

argc

表示操作系统传递给程序的参数个数,char

*argv[]

存储各个参数.

例如:

若有程序如下:

printf("您输入了

%d

个参数\n分别是:",argc);

for(i=0;i

运行-

cmd

-

输入

c:\app.exe

hello

world!

回车

执行结果将是:

您输入了

个参数

分别是:c:\app.exe

"

注意,第一个参数值将是你程序的文件名.

c语言 数组作为函数参数怎样写

囧...

你的数组定义的size是N+1,参数传进去的size是N.

参数调用方法没错,细心,细心啊,老兄...

以上就是土嘎嘎小编为大家整理的c语言函数形参的书写相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章