您的位置首页 >精选百科 >

函数的形参是局部变量吗(函数的形参都属于全局变量吗)

您好,今天芳芳来为大家解答以上的问题。函数的形参是局部变量吗,函数的形参都属于全局变量吗相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、除了C++的引用类型参数,C/C++的任何函数的形式参数都是局部变量,和普通的函数内自动变量一样是自动存储类对象,具有自动存储期(一般实现中也在栈上),在退出函数作用域时自动被释放,区别只不过在参数列表中通过实参按值传递(复制)给形参进行初始化,而不是在函数体内初始化而已。

2、因此,结论很明确,没有冲突。

3、无论函数在哪里,也不管被传递的实参的存储类是什么(全局/局部静态/自动),只要不是引用类型,参数传递时就进行了复制,函数内对参数的操作是对这个副本的操作,和实参没有任何关系。

4、解决方案很简单,如LS所说,直接使用全局变量就行了,用不着传递参数(不仅达不到预期目的而且参数值传递导致的复制可能会使效率显著降低)。

5、====[原创回答团]。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:

免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!