形参(parameter):形参(形式参数)是在函数定义中出现的参数,是一个虚拟参数,调用之前并没有给他分配内存,可以看作是一个占位符,在函数定义时没有实际的数值,只有在函数调用时才会接收到传递进来的数据;只是因为函数需要从别处传递数据,为了表示此数据,起了一个名字,是出于函数形式上的考虑,故称之为形参。
实参(argument):实参(实际参数)是在函数中实际出现的参数,实参的值可以是常量、变量、表达式、类等,实参必须要有确定的值。
区别:
性质不同:
形参是一个名字,本身不占内存,只有在函数调用时才会分配内存;
实参是一个变量,在定义时就已分配内存地址。
作用域不同:
形参在函数定义时出现,在函数体内可以使用,离开该函数体则不能使用;
实参出现在主调函数中,进入被调函数时不能使用。
生命周期不同:
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,除了重新调用,否则不能再重新使用形参。
实参:全局变量:程序运行期一直存在,从程序开始到结束。
局部变量:随着函数的结束,即被销毁
联系:
含有形参的函数在调用时,括号中的数据是实参,用来将实参的数据传递给形参,所以在参数传递之前,要对实参进行赋值;需要注意的是:形参与实参之间的值传递并不会改变实参的值,地址传递会改变实参的值。
在函数调用时,传递给被调函数的实参,在数量、数据类型上必须与形参保持一致,否则会出现“类型不匹配的错误。
例子: 文章来源:https://www.toymoban.com/news/detail-744304.html
从上面的例子也可以看出来,对形参进行的操作只在被调函数中起作用,并不能改变与其同名的实参的值,所以实参与形参可以同名,传递给被调函数的实参必须有确定的值,所以必须先赋值,再传递给形参,传递给形参的可以是数值也可以是表达式。 文章来源地址https://www.toymoban.com/news/detail-744304.html
到了这里,关于形参与实参的主要区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!