精华内容
下载资源
问答
  • 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 举例 int a=10;//则a为...

    一、实参定义

    实参(argument)——全称为"实际参数"是在调用时传递给函数的参数。 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
    举例

    int a=10;//则a为实参
    int b=20;//则b为实参
    

    二、形参定义

    形参(parameter)——全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。

    int max(int a,int b)//则a,b为形参
    {
    	return (a>b?a:b)
    }
    

    三、形参和实参的区别

    形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。

    1、形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。

    2、实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

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

    4、函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

    5、指针类型变量内容改变;非指针类型内容不改变。
    当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
    而如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值。

    展开全文
  • 形参和实参的区别

    万次阅读 多人点赞 2018-06-15 17:10:14
    实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形参...

    本文转载:https://blog.csdn.net/qq_33187168/article/details/50346465

    实参(argument):
      全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。      

    形参(parameter):
    全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。

    形式参数:形参是函数被调用时用于接收实参值的变量。

    根据实际需要可有可无。没有形参时,圆括号也不可省;多个参数之间应用逗号分隔。参数包括参数名和参数类型。

    形参的类型说明可有如下两种格式:

      int max(int  a,int b)/*形参的类型在形参表中直接说明*/

        {  return (a>b?a:b);}     

     或

       int max(a,b)

       inta,b;         /*形参的类型在函数体前、函数名后说明*/

       { return(a>b?a:b); }

    前者为标准格式,后者为传统格式,通常用前者。


    形参和实参的区别

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

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

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

    1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回

    主调函数后则不能再使用该形参变量。 

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

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

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

    4.函数调用中发生的数据传送是单向的 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值

    发生改变,而实参中的值不会变化。

    5.当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该

    函数运行结束的时候形参被释放,而实参内容不会改变

    如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参

    本身。所以在函数体内部可以改变实参的值。


    展开全文
  • 关于Js中函数形参实参个数问题

    千次阅读 2019-06-08 20:12:57
    我们知道,在C语言或者C++中,调用函数时,实参和形参之间的类型、顺序不仅要一一匹配,而且实参和形参个数也要相等。如果想要达到实参和形参个数不相等的效果,那么就得做函数重载。了解过的朋友应该都知道,这样...

    关于Js中函数形参与实参的个数问题

           我们知道,在C语言或者C++中,调用函数时,实参和形参之间的类型、顺序不仅要一一匹配,而且实参和形参的个数也要相等。如果想要达到实参和形参个数不相等的效果,那么就得做函数重载。了解过的朋友应该都知道,这样做是很麻烦很麻烦的。

           而在JavaScript里,情况是不是也是这样呢?本文就来讨论一下这个问题,帮助大家答疑解惑。

    先来上一段示例代码

    <body>
    	<h1></h1>
    	<script>
    		var result = document.querySelector('h1');
    		function calculate(a,b) {
    			var c = a + b;
    			return c;
    		}
    		
    		function show(x,y) {
    			var content = x + '+' + y + '=' + calculate(x,y);
    			result.innerHTML = content;
    		}
    		
    		show(2,6);
    	</script>
    </body>
    

    当实参个数和形参个数一样时,想必难不倒大家吧,结果如下:
    在这里插入图片描述
    那么当实参个数 < 形参个数是,结果会是怎样呢?

    show(2);
    

    锵锵锵!
    在这里插入图片描述
    可以看到,虽然实际参数比形式参数少了一个,但控制台并没有报出任何错误信息,证明这是符合js语法的。
    由于函数找不到第二个参数,所以输出undefined(未定义),当undefined类型数据和一个数值类型数据进行运算时,undefined先转换成数值类型NaN(非数值),然后NaN和一个数值类型数据运算,结果还是NaN。

    当实参个数 > 大于形参个数时。。。。。
    嘿嘿,大家来猜猜结果是啥?

    show(2,8,4);
    

    噔噔噔!
    在这里插入图片描述
    没错!函数直接忽视后面多出来的实参啦
    无论你后面加多少个实参,它都只匹配和形参数量相等的前面几个。

    以上结果表明

    调用函数传递的实参与定义函数规定的形参是依次对应的,即第1个实参的值传递给第1个形参,第2个实参的值传递给第2个形参…
    超出形参数目的实参不传递其值。
    如果没有对应的实参(实参数目少于形参数目)传入,其值为undefined。

    引用自 https://www.jianshu.com/p/10fb380a464b

    建议

    调用函数时传递的实参数目可以大于形参数目,但是最好不要小于形参数目。

    原理

    这么说 js 还真是一位慈祥的母亲呢,包容孩子的大小过错hhhhhhhhhhh。
    嗯,没错。。。C语言是位严父(滚)
    为什么 js 能达到如此神奇的效果?
    这个故事嘛emmm
    原来。。。很久很久以前。。。(笑)

    在 js中,参数在内部是用一个数组来表示。函数接收到的始终是这个数组,而不关心数组中包含哪些参数,如果这个数组不包含任何参数也无所谓,包含多个参数也没问题。

    引用自 https://www.jianshu.com/p/7049dab6a9b2
    故事讲完了,谢谢大家
    谢幕~
    熄灯~

    展开全文
  • 函数参数分为实参和形参形参就是在定义函数时,传递给函数的参数,被称为形参实参就是当函数被调用时,传给函数的参数,称为实参。 【例1】以下示例中,参数ab就是形参,而调用函数中的2,3就是实参。 ...

    函数参数分为实参和形参。
    形参就是在定义函数时,传递给函数的参数,被称为形参。
    实参就是当函数被调用时,传给函数的参数,称为实参。
    【例1】以下示例中,参数a和b就是形参,而调用函数中的2,3就是实参。

    function add(a,b){                   //形参就是a和b
    	return a+b;
    }
    console.log(add(2,3));//输出5        //实参就是2和3
    

    函数的形参没有限制,可以没有或者多个。形参的数量可以通过函数的length属性获取。
    【例2】获取函数的形参个数。

    function add(a,b){                  
    	return a+b;
    }
    console.log(add.length);             //返回2,形参的个数
    

    一般来说,函数的形参和实参个数是相等的,但在JavaScript中没有规定两者必须相等。如果形参个数大于实参,那么多出的形参值为undefined。相反,如果实参个数大于形参,那么多出的实参就无法被形参访问,而被忽略掉。
    【例3】函数的形参个数和实参个数不一致。

    function add(a,b){                  
    	return a+b;
    }
    console.log(add(2,3,4));  //传递3个实参,形参个数为2,则第3个实参4将被忽略,输出5
    
    function add(a,b,c){                  
    	return a+b+c;
    }
    console.log(add(2,3));  //传递2个实参,形参个数为3,则第3个形参将被转换为undefined,2+3+undefined的结果就是NaN。
    

    函数也能作为参数传递给另一个函数,也可以作为返回值。有利于进行模块化编程。
    【例4】函数作为参数传递给另一个函数。

    function a(f,x,y){   //定义一个函数a,里面的形参f就是函数
    	return f(x,y);		//函数a返回的就是函数f的执行结果
    }
    function b(x,y){
    	return x+y;
    }
    console.log(a(b,2,3));//输出5,这里的b就是函数b,也就是形参f
    

    拓展:
    JavaScript定义了arguments对象,用于在函数内部执行,使用arguments.length可以快速获取函数的实参个数,使用arguments[n]可以获取实参的值。
    为了预防用户随意传递参数,可以在函数体内部判断形参和实参的个数是否一致。
    【例5】判断形参和实参个数是否一致。

    function add(a,b){
    	if(add.length!==arguments.length){  //判断形参个数如果和实参个数不一致,则抛出错误
    		throw new Error("形参与实参个数不一致,请重新调用函数!")
    	}else{    //判断形参个数如果和实参个数一致,则执行函数运算
    		return a+b;
    	}
    }
    try{
    	console.log(add(2,3,4)); //尝试调用函数,形参和实参个数不一致,会抛出错误提示
    }
    catch(e){
    	console.log(e.message); //捕获异常信息
    }
    
    展开全文
  • Python3 函数的形参和实参

    千次阅读 2019-03-04 22:53:35
    实参的对应关系与形参的对应关系是按位置来依次对应的 说明: 实际参数形式参数通过位置进行传递的匹配 实参个数必须与形参个数相同2、序列传参: 序列传参是只指函数调用过程中,用*将序列拆解后按照为序列...
  • 方法的形参和实参

    2021-05-06 17:40:06
    如果有传递消息的需要,在定义一个方法时,参数列表中的参数个数至少为一个,有了这样的参数,才有将外部消息传送本方法的可能,这些参数被称为形式参数,简称形参。 而在调用这个方法时,需要调用者提供与原...形参和
  • 定义一个形参有多个的函数,并且定义传入不同数量的实参时,其中的db.collection(collectionName).find(){}方法中的attr,skipNumpageSize分别指的是什么 find(collectionName,json1,json2,json3){ if(arguments....
  • 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形参(parameter):...
  • JS的形参实参

    2020-03-29 22:12:53
    逆战班-JS的形参实参 ...JavaScript中函数的参数分为形参和实参形参:是在定义函数时使用的参数,目的是用来接收调用该函数时传进来的实际参数。 实参:是在调用时传递给函数的参数。 function myfun(...
  • 在js函数中,形参的作用是用来接收实参传来的数据,(形参可以接收任何数据类型的数据,数组,...其中 num1num2为形参, 打印时调用函数括号内的(1,2)为实参,调用函数时将12的值分别赋值给num1num2;因此结果为3;这是
  • 1. 形参实参的介绍 1.1 形参 在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名 def func(x, y): # x=1,y=2 print(x, y) 1.2 实参 在调用函数阶段传入的值称之为实际参数,简称实参,相当于...
  • 函数的形参实参

    千次阅读 2019-06-30 18:34:20
    参数分为形参(形式参数) 实参(实际参数) 形参分为:位置参数、默认参数、可变参数、 关键字参数 (1)位置参数 def studentInfo(name,age): print(name,age) studentInfo('westos',12)调用的时候...
  • C++函数的形参和实参以及*& 用法

    千次阅读 2020-11-13 10:40:43
    形参和实参 实参(argument): 全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都...因而,必须注意实参个数,类型应与形参
  • function myFunction() { var x=5; return x;...1.实参形参个数可以有偏差,不会因为参数不统一而错误。 例1: ? 1 2 3 4 5 6 functionbox(a,b){ 
  • 参数有形参(parameter)和实参(argument)的区别,形参指的是函数声明时的变量;实参指的是调用该函数时所传的参数。 例:声明函数test(a,b) 时a,b就是形参,调用test(1,2)时1,2就是实参; function test(a,b)...
  • 今年别人写的jsp页面发现,调用者是传入2个参数,而被调用的参数却又三个形参,一下子懵逼了,于是就查询了一番。1.html是这样的('${sub.menuName }','${sub.menuUrl}')" class="easyui-linkbutton" data-options=...
  • JS - 函数 - 形参和实参

    千次阅读 2018-06-21 08:22:11
    1. 形参和实参function sum(num1, num2) {  console.log(num1 + num2); } sum(100, 200); //形参和实参个数相等 ... //实参个数多于形参,只取到形参个数 sum(200); //实参个数少于形参,多的形参定义...
  • 函数形参实参个数匹配 function getSum(sum1, sum2) { console.log(sum1 + sum2); } // 1. 如果实参的个数和形参的个数一致 则正常输出结果 getSum(1, 2); // 2. 如果实参的个数多于形参的个数 会取...
  • 形参实参 形参:在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名 def func(x,y) #形参 实参:在调用函数阶段传入的值称之为实际参数,简称实参,相当于变量值 func(1,2) #实参 形参实参的...
  • 对于形参和实参的定义,在 权威指南中有着明确的定义。但是,我们更在意的是它们之间的关系,到底形参会不会影响到实参形参到底会不会影响到实参? 对于这个问题的答案,请先看以下两个例子: //例子一 ...
  • 形参和实参

    2020-09-27 22:47:59
    区分 默认形参 关键字实参 函数的定义处 (默认形参在函数的定义处) def lol_gameteam_python30(top="魏富强",middle="李天照",bottom="尉翼麟",jungle="黄俊",support="神秘男孩"): print("上单选手:{who}"....
  • 形参与实参形参实参形参与实参的关系举例说明(*形参与实参的关系*)二阶指针(*形参与实参的一些应用*) 形参 实参 形参与实参的关系 举例说明(形参与实参的关系) 二阶指针(形参与实参的一些应用) ...
  • 【原文】【Python入门与进阶】 函数,形参实参,与返回值 0 :导语 》》a:代码重用性从函数开始 》》b:函数重点在于参数与返回值 》》c:函数学得好,面向对象就容易了 1:函数 1.1:概述 定义:函数可以用来...
  • C语言的形参和实参个数不一致问题

    万次阅读 2014-12-29 15:51:10
    这带来的一个问题,实参和形参个数不一致,能编译通过,且有些情况没有警告,并且能链接通过,但是运行时会产生严重的运行时错误。 事实上,实参和形参个数不一致的问题,编译器是做了检查的,虽然这个检查机制不太...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,902
精华内容 8,360
关键字:

形参和实参的个数