首页 理论教育 C51单片机函数参数和值解析

C51单片机函数参数和值解析

时间:2023-11-17 理论教育 版权反馈
【摘要】:实参只出现在主调函数中,发生函数调用时,主调函数把实参的值传送给被调函数的形参,从而实现主调函数向被调函数的数据传送,如图6-1所示。图6-1 数值传递示意图函数的形参和实参有以下特点:1)形参只有在被调用时才临时分配内存单元,调用结束时,释放自己所占的内存单元。4)函数调用的过程中只能将实参的值赋给形参,反过来是不可以的。

C51单片机函数参数和值解析

形式参数和实际参数:

前面已经介绍过,函数的参数分为形参和实参两种。那么形参和实参的特点和两者的关系到底是怎样的呢。可以这样讲,形参只出现在函数定义中,在该函数体内可以进行有效地使用,在该函数之外,则不能使用。实参只出现在主调函数中,发生函数调用时,主调函数把实参的值传送给被调函数的形参,从而实现主调函数向被调函数的数据传送,如图6-1所示。

978-7-111-30335-0-Chapter06-32.jpg

图6-1 数值传递示意图

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

1)形参只有在被调用时才临时分配内存单元,调用结束时,释放自己所占的内存单元。

2)实参必须有一个最终值,不管它是哪种类型的变量,在进行函数调用时,它都必须有确定的值,从而把这些值传送给形参变量。(www.xing528.com)

3)实参和形参的数据类型必须一致,否则程序在编译时,将发生类型不匹配的错误

4)函数调用的过程中只能将实参的值赋给形参,反过来是不可以的。

【例6-8】

978-7-111-30335-0-Chapter06-33.jpg

例6-8中定义了一个函数m,该函数的功能是求a的平方值。在主函数中输入a值,并作为实参,在调用时传送给m函数的形参a,在此说明一下,形参和实参变量名可以同样,但它们是两个完全独立的变量。在函数m中,形参a的值已经被改写,即a=a*a;同时,函数体中的printf语句将a值打印出来,当函数m返回主函数后,主函数中的printf语句又将a值打印出来,有可能你会想到这里的值和刚才函数m中打印值一样,但在C语言中,形参是不能改变实参变量的值,因此,主函数中的printf语句所打印的a值仍为我们最前面输入的值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈