| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 初入C语言(下) -> 正文阅读 |
|
[C++知识库]初入C语言(下) |
变量的作用域和生命周期 (一)变量在作用域范围上又分为局部变量和全局变量。 例如:
全局变量作用域范围是整个工程,局部变量的作用域范围是定义的变量所属的区块范围内。通俗来讲,作用域范围指的是作用在哪块区域是有效的。全局变量在整个工程中都可以使用,而局部变量只可以在定义的区域内使用,在哪个大括号内定义的局部变量,只可以在哪个大括号内使用。为什么会有这种限制,这就需要说道另一个名词:生命周期。 不管是全局变量还是局部变量都存在生命周期。生命周期就是诞生到消亡的时间段,全局变量的生命周期就是从它创建开始到整个工程结束。局部变量的生命周期就是进入作用域时开始,出去作用域时结束。换言之,局部变量的生命周期就是定义它的左大括号开始到右大括号结束,括号内就是它的生命周期,局部变量出大括号就会销毁。 (二)变量中还有一种特殊存在,就是常变量。 常变量本身的属性是变量,但是不可以通过变量名进行修改。 例如:
n作为常变量不可以在初始化后被赋值,就像程序中不可以将常量赋值给另一个常量一样。 (三)被static修饰的变量 被static修饰的变量又分为静态局部变量和静态全局变量。 (1)静态局部变量:被static修饰的局部变量 例如:
输出结果为:1 2 3 4 5 6 静态局部变量的生命周期延长为整个工程,作用域范围不变。当局部变量被static修饰后,局部变量的存储区域发生了变化,从由栈区存储变化为由静态区存储,静态区储存全局变量和静态变量。本质上,由于存储方式发生了变化,导致变量的生命周期的变化。 (2)静态全局变量:被static修饰的全局变量 例如:
两串代码的输出结果:例子1可以正常输出,例子2出现报错。这是因为static修饰全局变量会将全局变量的作用域发生改变,由整个工程使用变为只能在定义变量的源文件内使用。本质上是改变了全局变量的链接属性,将其外部链接属性变为内部链接属性。 如有不当之处,感谢大佬指正。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 12:53:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |