c语言局部变量和全局变量可以同名吗


  C语言中全局变量和局部变量的区别是他们的作用域不同,全局变量是整个C程序,局部变量是定义所在的大括号内,同一个作用域内不能定义两个同类型同名的变量,因为编译会报错。 

  由1个或者多个C文件组成的工程中,可以定义和全局变量同名同类的局部变量,但是不提倡这样使用,因为此时变量的值和变量被调用的位置有关系。

  使用全局变量时,需要先用extern关键字声明,全局函数也是用相同的关键字。

  

  顺便复习static关键字:

  static主要定义全局静态变量、定义局部静态变量、定义静态函数。

特点\用法  定义全局静态变量  定义局部静态变量  定义静态函数
内存  全局数据区分配  全局数据区分配  无
作用域  文件内定义开始到文件结束,其他文件不可用,不可继承,其他文件可以定义重名变量  函数内定义开始到函数结束  文件内定义开始到文件结束
可见域  文件内定义开始到文件结束  函数内定义到文件结束,局部可用,但是全局可见,局部函数返回其值可见  文件内定义开始到文件结束

  

参考博客地址:https://blog.csdn.net/guotianqing/article/details/79828100


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM