“函数的形参都属于全局变量”这句话对吗?为什么?

如题所述

不对,形参离开函数就没用了,它属于局部变量,程序调用此函数时会自动为此变量分配空间,函数结束系统自动释放空间。一般由static定义的变量在函数调用后能保持上一次的值。

形参:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。

形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。

实参:全称为"实际参数"是在调用时传递给函数的参数,即传递给被调用函数的值。

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

扩展资料

英文名字不同:形参是parameter,实参是argument。

本质不同:形参的本质是一个名字,不占用内存空间。实参的本质是一个变量,已经占用内存空间。

在Javadoc或MSDN中的地位不同:Javadoc和MSDN提到一个方法有哪些参数,往往用parameter这个词。只有到程序员真正使用这个方法,才是argument。

在调试的时候,parameter就转变成argument,这时也往往不使用argument一词,而是称之为variable(变量),因为实参本质上就是一个变量,在内存中占用一块空间。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-06
不对,形参离开函数就没用了,它属于局部变量,程序调用此函数时会自动为此变量分配空间,函数结束系统自动释放空间。一般由static定义的变量在函数调用后能保持上一次的值。本回答被网友采纳
第2个回答  2011-03-13
不对
形参只是参数,并非真实的变量,只是用来接收函数调用时传入的参数,本身只能算一种虚拟变量,或者说是一种接口或者名字,你可以根据具体的应用在调用时通过给形参赋值的方式传入全局变量或者局部变量,但这是调用者决定的,而且一旦被赋予了具体的值,就变成了实参,也就是说,当函数被调用时(产生实参)时,才真正具有实际变量的意义,而这个变量,可以是全局变量,也可以是局部变量
第3个回答  2011-03-11
这句话是错误的,某一个函数的形参,在未出现该函数的调用时并不占用内存,只有在发生函数调用时,才会被分配内存单元,调用结束后,形参占用的内存就被释放了。所以说,不同的函数定义相同名字的形参都是可以的。
例如在同一个程序中,你可以定义两个函数:
int max(int x,int y);
{}
int min(int x,int y);
{}
第4个回答  2011-03-11
错误,函数形参的生存期只在函数的开始与结束,故不是全局变量。