函数实参和形参

The terms parameter and argument are sometimes loosly used interchangeably, and the context is used to distinguish the meaning.

The terms parameter(sometimes called formal paramter) is often used to refer to the variable as found in the function definition, while argument(sometimes called actual parameter) refers to the actual input passed.

For example, if one defines a function as def f(x):..., then x is the terms parameter, while if it called by a = ...; f(a) then a is the argument.

形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。

实参出现在主调函数中,进入被调函数后,实参变量就不能使用了。

实参和形参的功能是作数据传送,发生函数调用时,主调函数把实参的值传送给被调函数的形参,从而实现主调函数向被调函数的数据传送。

函数的形参和实参具有以下特点:

1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即可释放所分配的内存单元。

因而,形参只有在函数内部有效。函数调用结束后返回主调函数后则不能再使用该形参变量。

2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。

因此应预先用赋值、输入等办法使实参获得确定值。

3. 实参和形参在数量上、类型上、顺序上应严格一致,否则会发生类型不匹配的错误。

4. 函数调用中发生的数据传送是单向的。

即 只能把实参的值传送给形参,而不能把形参的值反向传送给实参。

因此 在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

Reference:

1. https://en.wikipedia.org/wiki/Parameter_(computer_programming)#Parameters_and_arguments

2. http://blog.csdn.net/quannii/article/details/8469116

时间: 2024-10-18 14:54:15

函数实参和形参的相关文章

简单的函数实参、形参、默认值的定义

Python语句中可以进行函数调用来简化工作,每个函数都可以完成具体的任务.当遇到相同任务,调用函数方便快捷. 函数首先需设定形参(抽象概念),最后赋予具体值(实参),有些具体值可以不变,则可提前设定好默认值. eg. 编写一个和T-SHIRT尺码及标语相关的函数: 设定好T-SHIRT需输入的形参(尺码及标语),最后赋予具体值 def make_shirt(size, slogan): #size/slogan为形参 """显示T-shirt的尺码和字样"&quo

c语言函数实参与形参整理

JavaScript函数遇实参与形参——智能而有原则

1.实参与形参个数可以有偏差,不会因为参数不统一而错误. 例1: functionbox(a,b){ return a + b; } alert(box(1,3,5)); //运行结果:"4". //进行的运算为"1+3",没有用到"5". 例2: functionbox(a,b,c){ return a + b+c; } alert(box(1,'5')); //运行结果:15undefined. //结果为sring类型.进行的运算1与'5'

《JS权威指南学习总结--8.3 函数的实参和形参》

内容要点: 一.可选形参      当调用函数的时候传入的实参比函数声明时指定的形参个数要少,剩下的形参都将设置为undefined值.     例如:       //将对象o中可枚举的属性名追加至数组       //如果省略a,则创建一个新数组并返回这个新数组.        function getPropertyNames(o,/*optional*/a){           if(a === undefined) a= [];           for(var property

php中函数的实参和形参

php中函数的实参和形参严格一一对应.例子: <?php function test($a,$b=2,$c){  //函数test第二个参数给默认值 $result=3*$a+2*$b+$c; return $result; } echo test(3,4,5);//调用正确,结果为22 echo test(3,,5);  //错误,没有给第二个形参传值,即使第二个形参有默认参数也不能绕过他而给第三个参数传值 echo test(3,4);//错误,没有给第三个参数传值 总结:函数中的形参带默认

实参和形参指针做函数参数时,如何改变main函数变量的值

//对输入的两个整数按大小顺序输出 代码如下: #include<iostream> using namespace std; int main() { void swap(int *p1,int *p2); int *pointer_1,*pointer_2,a,b; cin>>a>>b; pointer_1=&a; pointer_2=&b; if(a<b)swap(pointer_1,pointer_2); cout<<"

Pyhton函数篇(一)之函数中的形参与实参

1:什么是函数 函数其实就是带名字的代码块,用于完成一些具体的工作.如果我们在写一段程序的时候,需要多次用到同样的一个功能,如果每次都要重复写相同的代码,不仅会增加我们的代码量,更会让我们写出的代码让别人看起来觉得很low,而如果我们把功能作为一个代码块封装在一个函数里,每次仅需要调用这个函数,是不是就很方便了?这就是函数的意义所在 1.1 函数的定义方式 函数的定义使用def关键字,如下: def user(): def 关键字后面加函数名定义函数,定义以冒号结尾 """内

python中函数定义之实参、形参

一般在函数的定义中,会有一类变量---形参,它是函数完成其工作的一项信息.实参往往是调用函数时传递给函数的信息.我们在调用函数时,将要让函数使用的信息放在括号内.例如定义一个函数def greet_user(username):,在调用greet_user('jeese')中,将实参'jeese'传递给了函数greet_user(),这个值被存储在形参username中. 传递实参有很多种方式,下面了解一下他们. 1.位置实参 在调用函数时,每个实参要与定义中的形参关联起来.最简单的关联方式就是

实参和形参的关系、2.函数的参数可以是任意数据类型吗?3。函数的作用域问题

一.实参和形参的关系: 1.什么是实参:在执行函数的时候函数名后面的小括号内的内容就是实参 比如: 例1:function fn(a,b) console.log(a) } fn(5) 例子中的fn(5)就是函数的执行  小括号内的5就是实参 2.什么是形参:在定义函数的时候函数名后面的小括号内的内容就是形参 比如:例1中的function fn(a,b)括号中的 a,b就是形参 *1带参数的函数在定义的时候是先把参数(形参)存到内存中去,再找关键字var 和function存 *2函数在执行的