怎样理解形参

来源:5-4 形参与实参

慕勒5238369

2018-02-26 15:21

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


还有图片中return x*2又是什么意思

写回答 关注

4回答

  • 蛋包饭_0
    2018-02-26 18:49:18
    //除了void函数
    void fun();
    void 函数名();
    //不一定要用到return 返回计算结果
    //其他
    float fun();
    double sun();
    int swap();
    .....
    //都要用到return返回计算结果。
    //好比之前给你讲的,函数里的临时变量(形参)最终会被释放清空;
    //当然你总不会希望你在里面做了一堆的计算,最终得到的结果被计算机释放清空了对吧
    //所以你希望这个值保留下来;
    //return的作用就好比临死前把这个值丢出去,然后有另外一个变量去把它捡起来给自己


  • 蛋包饭_0
    2018-02-26 15:43:58
    //关于return x * 2;
    //你可以理解成
    printf("x=%d\n", x*2);


    蛋包饭_0 回复慕勒5238...

    是的。 n是形参,5是实参

    2018-02-26 18:41:31

    共 3 条回复 >

  • 蛋包饭_0
    2018-02-26 15:40:18
    //以下内容以你提供的代码为例子
    //原文:形参只有在被调用时才分配内存单元
    //解释:你可以理解成当你调用"int MultiDouble(int x)"函数时,计算机开始int(定义)x(如果你了解过C语言与
    //      内存的关系,这时候就相当于临时开辟一个(sizeof(int))大小的空间,准备储存x的值
    //原文:在调用结束时,即刻释放所分配的内存单元。
    //解释:你可以想象如果这时候临时开辟的x的空间永远不释放(分配的内存单元),当你的代码无穷大时,在你
    //      内存条容量有限大的情况下,你的内存一定会爆掉的。所以C语言为了避免出现这样的情况,就做出这样的
    //      决定:在调用结束时,即刻释放所分配的内存单元,为了你的内存不爆掉
    //结论:(既然x的内存空间都被释放掉了)所以,形参只有在函数内部有效,主调函数后则不能再使用该形参变量X


  • 慕雪8015170
    2018-02-26 15:27:50

    形参即只是一个参数本身没有任何意义,只有在函数调用时赋值才有实际意义此时变成实参。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题