函数实参和形参的区别
![函数实参和形参的区别](https://img.360docs.net/img1e/0xhg56f0jza3x7bx2of-e1.webp)
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实参和形参:
定义:在定义函数时,函数名后面括号中的变量名称为“形式参数”(简称行
参);在主调函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为“实际参数”(简称实参)。
关于形参和实参的说明:
(1)在定义函数中指定的形象,在未出现函数调用时,他们并不占内存中的存储单元。只有在发生函数调用时,函数中的形象才被分配内存空间单元。
在调用结束后,形参所占的内存单元也被释放。
(2)实参数可以是常量、变量、或表达式,如max(3,a+b);但要求他们有确定的值。在调用时,将实参的值赋给形参。
(3)在被定义的函数中,必须指定形参的类型。
(4)实参和形参的类型应相同或赋值兼容。如果类型不同,则按不同类型数值的赋值规则进行转换。如实参值为 3.5 ,而形参x为整型,则将实数3.5转换成整数3,然后送到形参x。字符型和整型可以互相通用。
(5)在C语言中,实参向形参的数据传递是“值传递”,单向传递,只能由实参传给形参,而不能由形参传回给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分配存储空间,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。
因此,在执行一个被调用函数时,形参的值如果发生改变,并不会改变主调函数的实参的值。