您的位置:首页 > 编程语言 > C语言/C++

C语言基础:C语言static和extern(2) - 作用与变量

2015-01-11 18:07 471 查看
上一节, 我们讲解了static和extern对于函数的作用, 这次我们来讲解static和extern对于变量的作用.

首先, 我们来看一个例子:



输出的结果:



有人会疑问, 为什么我在main.c文件里面定义的全局变量会和在one.c文件里面的全局变量的输出结果和地址是完全一样的呢?

其实原因很简单, 一般来将, 只要我们没有特定写明全局变量是内部的, 那么默认就会把这个全局变量当成是外部变量, 而两个外部变量都是可以重复定义的, 编译器不会报错, 所以它们输出的结果和地址是完全一样的, 那如果我要他们不一样呢? 我们继续往下看:



输出的结果:



只要在全局变量之前加上static这个关键字, 那么这个全局变量就只能在本文件里面使用, 别的文件里面是不能调用, 所以它们的地址是不相同的.

还有一个关键字extern, 其实在前面我们讲过, 我们可以忽略这个extern不写, 如果写上的话, 就是完整的定义一个外部变量, 不写也不会影响什么:



输出的结果:



刚开始接触的时候或许会有一些迷惑, 但大家回去多敲敲代码, 多实验, 那就明白是什么意思了~~~

好了, 这次我们就讲到这里, 下次我们继续~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: