您好、欢迎来到现金彩票网!
当前位置:双彩网 > 形参 >

c语言中形参和实参的区别?

发布时间:2019-07-03 22:11 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。

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

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

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

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

  本程序中定义了一个函数s,该函数的功能是求∑ni的值。在主函数中输入n值,并作为实参,在调用时传送给s 函数的形参量n( 注意,本例的形参变量和实参变量的标识符都为n,但这是两个不同的量,各自的作用域不同)。在主函数中用printf 语句输出一次n值,这个n值是实参n的值。在函数s中也用printf 语句输出了一次n值,这个n值是形参最后取得的n值0。从运行情况看,输入n值为100。即实参n的值为100。把此值传给函数s时,形参n的初值也为100,在执行函数过程中,形参n的值变为5050。返回主函数之后,输出实参n的值仍为100。可见实参的值不随形参的变化而变化。

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

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

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

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

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

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

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

  int func(int a) // a即func形参,写函数代码时,给传给这个函数的参数取的名字

  return func(i); // i是func的实参,即“调用”函数时传给函数的具体的实际的参数

  它相当于一个处理数据的机器,而数据就是原材料,这就需要一个材料的输入口,就是函数设计的接口,在这个过程中我们首先定义了一个函数add(int a,int b)(制造了一台机器),在定义这个函数的时候由于我们只是赋予它这个使两个数相加的功能,但是定不知道它将把那两个数相加,所以就先给它设定是对a,b相加,(就像我们只是造了机器,知道它的作用而没有原料)这时的a,b就是形参,即它只是一个形式上的数据,是定义在函数中的。

  而实参就是在调用函数的时候要向形参传递值,如num1,num2,(它就是机器要开工时需要的原料,有了它机器才能进行加工),我们实际上是要吧num1,num2相加,只是在主函数里写代码太繁杂,就把代码写到函数里边。这时形参a,b被赋予了num1,num2的值后就可以代替num1,num2在add函数体中完成本想对num1,num2进行的操作(至于为什么要用实参形参还涉及到数据的作用域的问题)

http://7milediver.com/xingcan/328.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有