形参(parameter):形参(形式参数)是在函数定义中出现的参数,是一个虚拟参数,调用之前并没有给他分配内存,可以看作是一个占位符,在函数定义时没有实际的数值,只有在函数调用时才会接收到传递进来的数据;只是因为函数需要从别处传递数据,为了表示此数据,起了一个名字,是出于函数形式上的考虑,故称之为形参。

实参(argument):实参(实际参数)是在函数中实际出现的参数,实参的值可以是常量、变量、表达式、类等,实参必须要有确定的值。

区别

  1. 性质不同:

形参是一个名字,本身不占内存,只有在函数调用时才会分配内存;

实参是一个变量,在定义时就已分配内存地址。

  1. 作用域不同:

形参在函数定义时出现,在函数体内可以使用,离开该函数体则不能使用;

实参出现在主调函数中,进入被调函数时不能使用。

  1. 生命周期不同:

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,除了重新调用,否则不能再重新使用形参。

实参:全局变量:程序运行期一直存在,从程序开始到结束。

局部变量:随着函数的结束,即被销毁

联系

  1. 含有形参的函数在调用时,括号中的数据是实参,用来将实参的数据传递给形参,所以在参数传递之前,要对实参进行赋值;需要注意的是:形参与实参之间的值传递并不会改变实参的值,地址传递会改变实参的值。

  1. 在函数调用时,传递给被调函数的实参,在数量、数据类型上必须与形参保持一致,否则会出现“类型不匹配的错误。

例子

从上面的例子也可以看出来,对形参进行的操作只在被调函数中起作用,并不能改变与其同名的实参的值,所以实参与形参可以同名,传递给被调函数的实参必须有确定的值,所以必须先赋值,再传递给形参,传递给形参的可以是数值也可以是表达式

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐