【C 语言】变量的作用域和生命周期
距离上次更新本文已经过去了 732 天,文章部分内容可能已经过时,请注意甄别
变量的作用域和生命周期
[TOC]
1. 全局变量和局部变量
定义在代码块外部的是全局变量
定义在代码块内部的是局部变量
什么是代码块?
c
1 | //这是代码快外部 |
实际上用 int main 来演示是不太对的,实际使用的时候我们定义变量是在 int main 内部定义的
下面这个例子更加清晰明了
c
1 | int main() |
需要注意的是:
同一个变量 a 可以在全局,局部变量中间同时使用,局部变量优先
这里是指同时存在,同时使用,但不能同时定义
在局部的代码块中重新定义一个全局变量是错误的
下面这种形式就是 同时使用一个变量
c
1 | int main() |
在我们定义变量的时候,变量的名字不能相同
同时变量的名字也不应和库函数名相同
简单的说就是变量不要重复,也别和库函数冲突
2. 变量的作用域
变量的作用域 -> 变量的生效区域
- 局部变量只在它自己的代码块中生效
- 全局变量的作用域是整个代码
注:在 VS 中全局变量的作用域是整个工程
作用域的规定了变量生效区域
如果你在局部变量的代码块外部使用这个局部变量
这样是无效的,无法使用
2-1. 声名外部变量的方法
在 vs 中全局变量的作用域是整个工程
但是如果源文件不同,我们需要打一串声明来应用工程文件中另外一个源文件的全局变量
c
1 | extern int a |
以下是声名变量和定义变量的代码示例
c
1 | extern int a;//声明全局变量a |
3. 变量的生命周期
生命周期这个概念和作用域十分相似
- 局部变量的生命周期从进入”{“开始,离开”}” 结束
- 全局变量的生命周期是整个程序(VS 项目)
4. 局部变量 & 自动变量
局部变量又称自动变量
c
1 | auto int a = 0; |
实际使用的时候我们一般都是省略 auto 的
以上就是 C 语言中有关变量的一些概念,希望对你有帮助
点个赞再走呗,万分感谢!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 慕雪的寒舍!
评论
表情图片预览
0 条评论
- 最新
- 最热
- 最早
- 作者
关闭评论
通知中心
「此时无声胜有声」
Artalk ErrorTypeError: Failed to fetch,无法获取评论列表数据
点击重新获取 | 打开控制台
点击重新获取 | 打开控制台