您的位置:首页 > 其它

static和extern关键字2-对变量的作用

2013-09-19 00:56 267 查看
一、在Java中,全局变量的定义没有严格的位置规定:
二、在C语言中,全局变量定义的位置是有限制的:
  默认情况下,一个函数不可以访问在它后面定义的全局变量
    第1种办法:将变量a定义在main函数的前面
    第2种办法:在main函数前面对变量a进行提前声明
三、重复定义同一个变量:
  重复定义同一个变量a代表着同一个变量。
四、不同源文件中的同名变量:
  假如在另一个源文件中也有全局变量int a;,那么这两个源文件的所有全局变量int a;都代表着同一个变量。
五、static关键字:
  但很多时候,我们并不想让源文件中的全局变量跟其他源文件共享,相当于私有的全局变量,那么你就得用static关键字来定义变量。
六、static和extern的总结:
  1.extern可以用来声明一个全局变量,但是不能用来定义变量
  2.默认情况下,一个全局变量是可以供多个源文件共享的,也就说,多个源文件中同名的全局变量都代表着同一个变量
  3.如果在定义全局变量的时候加上static关键字,此时static的作用在于限制该全局变量的作用域,只能在定义该全局变量的文件中才能使用,跟其他源文件中的同名变量互不干扰
七、static修饰局部变量:
  1.延长局部变量的生命周期,程序结束时候,局部变量才会被销毁。
  2.并没有改变局部变量的作用域。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: