什么是实参什么是形参:区分规则与写法

什么是实参什么是形参,形参是函数定义时写在括号内的变量名,只占位、不占用实际内存,实参是调用函数时传入的真实数据,可以是常量、变量、表达式,二者按位置或关键字完成传递,值传递场景下修改形参不会影响外部实参,引用传递场景下修改形参会同步改动外部实参,该判断规则适合Python、C语言、Java等主流编译型与解释型语言的函数参数场景,不适合宏定义替换、匿名函数捕获变量这类特殊语法结构。

形参的定义与运行特征

形参只在函数定义阶段声明,函数没有被调用时,形参不会创建内存空间,它相当于一个预先预留好的接收容器。你在写defadd(a,b)或者intadd(inta,intb)这类代码时,括号里的a、b就是形参,它本身没有固定数值,名字只在函数内部作用域生效,函数执行结束之后,形参对应的内存会被释放,外部代码无法直接访问这个变量。

形参支持多种写法,默认参数、可变参数、关键字参数都属于形参的扩展形式。

实参的定义与运行特征

实参是触发函数调用时传递进去的内容,它必须是已经存在、能够求值的数据,比如数字10、变量x、算式3+5。调用add(6,9)的时候,6和9就是实参,实参在传入函数之前就已经分配内存,传递的过程是把自身的值或者内存地址交给对应的形参。

实参分为位置实参和关键字实参两类,位置实参依靠顺序匹配形参,关键字实参依靠参数名称匹配,顺序可以打乱。

对比项形参实参
出现位置函数定义括号内函数调用括号内
内存时机函数调用时才分配空间调用前就存在
作用域仅限函数内部调用处所在作用域

参数传递有两种主流模式,值传递复制一份数据给形参,形参和实参相互独立;引用传递传递数据地址,形参和实参指向同一份数据。

区分二者最简判断方法:看代码是在定义函数,还是在调用函数。

C语言考试、计算机二级Python科目里,参数传递考点大多围绕这组区别出题,考题会给出代码片段,让你识别形参、实参,判断修改后变量输出结果。

一个典型错误写法,直接把表达式写成形参,编译器会直接抛出语法报错,因为形参只能是合法变量名,不能放计算内容。

在Python中,可变对象列表、字典作为实参传入时,属于引用传递,在函数内部修改容器内容,外部原始实参同样发生变化,这是很多初学者容易混淆的点。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于什么是实参什么是形参的文章欢迎访问:百科