C 函数中形式参数与实际参数的区别


  1、在接下来的时间里面,我们再进一步学习一下"形参"与"实参",在前面的学习中,我们的实参一直都是使用"常量",而实参其实也可以使用"变量"。

 

 当实参使用变量时,而形参定义也必须是变量,那么,它们之间有什么区别呢?其实,它们的区别如下:

 

  (1)形式参数在定义时不会分配内存的存储空间,而它只会在被调用时,才会分配内存的存储空间,而当函数调用完成后,所占用的内存存储空间就会被释放。也就是在函数调用完毕以后,所有的"形参"中的值将会自动消失。

 

  (2)变量实参,在定义时就分配内存的存储空间,然后,将变量中的"数值"传递给"形参",在函数调用的过程中,即使形参中的值发生改变,但是,实参中的值是不会跟随形参的变化而发生任何变化。 

 

 

 

  2、例子:

      void mx(int x,float y)

      {

        x=x+1;

        y=y-1;

      }

      void main()

      {

        int i=1;

        float j=2.5;

        mx(i,j);

      }

 

      例子分析:

      (1)通过上面的例子,我们首先定义了一个整型变量i=1与浮点型变量j=2.5,然后,通过调用函数mx,传递了“i”与“j”给函数中的形式参数x与y。

      (2)然后,在mx函数被调用以后,形式参数,x与y就接收到“ i ”与“ j ”传递过来的值分别是1和2.5,然后,通过形式参数执行了x+1结果等于2,并赋值给变量x,所以,x中的值由1变为2,然后,再执行y-1结果等1.5并赋值为变量y,所以,y中的值由2.5变为1.5。

      (3)当函数mx调用完毕以后,形式参数x与y中的值将会消失,所以,实参变量“ i "与" j "中的值没有被改变,仍然是1与2.5。

 

    通过,这个例子,相信大家就可以了解到,形式参数与实际参数的区别,同时,可以了解到当实际参数是变量时,它传递给形参的内容,只是实参变量中的值,而不是将实参中的变量传递给形式参数,同时形参在函数调用完毕以后,也会自动消失,所以不会影响实参中原有的内容。

 

 

  

   非常好,现在,我们已经掌握了C中的“形式参数与实际参数的区别”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“形式参数与实际参数”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

     不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练