形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量,怎样理解?
还有图片中return x*2又是什么意思
//除了void函数 void fun(); void 函数名(); //不一定要用到return 返回计算结果 //其他 float fun(); double sun(); int swap(); ..... //都要用到return返回计算结果。 //好比之前给你讲的,函数里的临时变量(形参)最终会被释放清空; //当然你总不会希望你在里面做了一堆的计算,最终得到的结果被计算机释放清空了对吧 //所以你希望这个值保留下来; //return的作用就好比临死前把这个值丢出去,然后有另外一个变量去把它捡起来给自己
//关于return x * 2; //你可以理解成 printf("x=%d\n", x*2);
//以下内容以你提供的代码为例子 //原文:形参只有在被调用时才分配内存单元 //解释:你可以理解成当你调用"int MultiDouble(int x)"函数时,计算机开始int(定义)x(如果你了解过C语言与 // 内存的关系,这时候就相当于临时开辟一个(sizeof(int))大小的空间,准备储存x的值 //原文:在调用结束时,即刻释放所分配的内存单元。 //解释:你可以想象如果这时候临时开辟的x的空间永远不释放(分配的内存单元),当你的代码无穷大时,在你 // 内存条容量有限大的情况下,你的内存一定会爆掉的。所以C语言为了避免出现这样的情况,就做出这样的 // 决定:在调用结束时,即刻释放所分配的内存单元,为了你的内存不爆掉 //结论:(既然x的内存空间都被释放掉了)所以,形参只有在函数内部有效,主调函数后则不能再使用该形参变量X
形参即只是一个参数本身没有任何意义,只有在函数调用时赋值才有实际意义此时变成实参。