形参与实参的主要区别

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

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

区别

  1. 性质不同:

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

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

  1. 作用域不同:

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

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

  1. 生命周期不同:

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

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

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

联系

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

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

例子

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

  • 17
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数的形参实参是函数调用过程中的两个概念。 形参是在函数定义时定义的参数,它是函数内部使用的占位符。形参可以在函数定义时指定,用于接收传递给函数的实际参数值。形参是函数定义的一部分,它的作用域仅限于函数内部,函数外部无法访问。 实参是在函数调用时实际传递给函数的参数值。实参可以是常量、变量、表达式或函数等。实参的值可以在函数调用时指定,在函数内部可以通过形参使用实参的数值。实参可以是任意类型的数据。 形参实参之间的关系是通过函数调用来建立的。当调用函数时,实参的值被传递给形参,形成一一对应关系。形参将使用实参的数值执行函数内部的操作。 形参实参之间的区别主要有以下几点: 1. 定义位置不同:形参是在函数定义时指定的参数,实参是在函数调用时传递的参数。 2. 作用范围不同:形参的作用范围仅限于函数内部,而实参的作用范围可以是函数内部和外部。 3. 类型限制不同:形参可以指定特定类型或不限制类型,而实参必须与形参的类型匹配。 4. 值传递方式不同:对于值类型的形参,默认情况下是按值传递的,即在函数调用时创建形参的副本;而对于引用类型的形参,默认情况下是按引用传递的,即实参形参指向同一个内存地址。 总之,形参是函数定义时声明的占位符,实参是函数调用时传递的具体数值。通过函数调用,实参的值被传递给形参,从而实现函数的功能。形参实参是函数输入和输出的桥梁。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值