首页 理论教育 AVR单片机:函数参数与函数值讲解

AVR单片机:函数参数与函数值讲解

时间:2023-11-20 理论教育 版权反馈
【摘要】:通过前面的例子,了解到函数的参数分为形参和实参。函数的形参和实参具有以下几个特点:1)形参只有在调用的时候才被临时分配内存单元,在调用结束后,就释放它所占有的内存空间。2)实参不论是什么类型的数据,但必须有一个最终的值,在进行函数调用时,它都必须是有确定的值,从而把这些值传递给形参。图7-1 数值传递示意图4)只能将实参的值传递给形参,反过来则不可以。

AVR单片机:函数参数与函数值讲解

通过前面的例子,了解到函数的参数分为形参和实参。那么这两种参数的特点和关系究竟是怎么样的呢?形参只是出现在函数定义中,在该函数体中可以被使用,但在函数体外就不能使用;实参只是出现在主调函数中,在调用函数时,把实参的值传递给被调函数的形参,从而实现主调函数向被调函数的数值传递,如图7-1所示。

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

1)形参只有在调用的时候才被临时分配内存单元,在调用结束后,就释放它所占有的内存空间。

2)实参不论是什么类型的数据,但必须有一个最终的值,在进行函数调用时,它都必须是有确定的值,从而把这些值传递给形参。

3)实参和形参的数据类型必须一致,否则程序在编译时会出错。

978-7-111-36320-0-Chapter07-19.jpg(www.xing528.com)

图7-1 数值传递示意图

4)只能将实参的值传递给形参,反过来则不可以。

【例7.8】

978-7-111-36320-0-Chapter07-20.jpg

在该例中,定义了一个m函数,该函数的功能是求n的平方值。在主函数中,输入num的值,然后调用m函数,num作为实参,将值传递给形参n。在这里,也要提醒大家注意,形参和实参的名字可以是一样,但是它们两个是完全独立的个体。在函数m中,形参n的值被改变,即n=n*n;同时,函数体中的printf语句将n的值打印出来,当函数m返回主函数后,主函数中的printf语句又将num值打印出来,你可能会想到这里的值和刚才函数m中打印值一样,但要注意,在C语言中,形参是不能改变实参变量的值,因此,主函数中的printf语句所打印的num值仍为最开始输入的值。

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

我要反馈