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

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

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

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

  

  顺便复习static关键字:

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

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

  

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

posted @ 2020-05-15 20:14  雪地飞行棋  阅读(4989)  评论(0)    收藏  举报