今天来聊聊关于函数的形参可以和全局变量命名一致,函数的形参都属于全局变量吗的文章,现在就为大家来简单介绍下函数的形参可以和全局变量命名一致,函数的形参都属于全局变量吗,希望对各位小伙伴们有所帮助。
1、除了C++的引用类型参数,C/C++的任何函数的形式参数都是局部变量,和普通的函数内自动变量一样是自动存储类对象,具有自动存储期(一般实现中也在栈上),在退出函数作用域时自动被释放,区别只不过在参数列表中通过实参按值传递(复制)给形参进行初始化,而不是在函数体内初始化而已。
2、因此,结论很明确,没有冲突。
3、无论函数在哪里,也不管被传递的实参的存储类是什么(全局/局部静态/自动),只要不是引用类型,参数传递时就进行了复制,函数内对参数的操作是对这个副本的操作,和实参没有任何关系。
4、解决方案很简单,如LS所说,直接使用全局变量就行了,用不着传递参数(不仅达不到预期目的而且参数值传递导致的复制可能会使效率显著降低)。
5、====[原创回答团]。
相信通过函数的形参都属于全局变量吗这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。