局部变量、全局变量和静态变量的含义
局部变量、全局变量和静态变量是在程序中用于存储数据的不同类型的变量,它们的作用域和生命周期不同。
- 局部变量:
- 局部变量是在函数内部声明的变量,只能在声明它们的函数内部访问。
- 它们的作用域仅限于声明它们的函数内部,函数执行完毕后会被销毁。
- 局部变量存储在栈上,因此它们的生命周期与函数调用的开始和结束相关联。
void exampleFunction() {
int localVar; // 局部变量
// ...
}
- 全局变量:
- 全局变量是在函数外部声明的变量,可以在程序的任何地方访问。
- 它们的作用域从声明处开始,直到文件结束,可以被程序中的所有函数访问。
- 全局变量存储在数据段,其生命周期贯穿整个程序的运行周期。
int globalVar; // 全局变量
void exampleFunction() {
// 可以访问全局变量 globalVar
// ...
}
- 静态变量:
- 静态变量可以在函数内部或全局范围声明,但其作用域与局部变量或全局变量不同。
- 在函数内部声明的静态变量作用域为整个函数,但其生命周期贯穿程序运行周期。
- 在全局范围声明的静态变量的作用域和生命周期与全局变量相同,但它们仅限于当前文件。
void exampleFunction() {
static int staticVar; // 函数内部的静态变量
// ...
}
static int globalStaticVar; // 全局范围的静态变量
总之,局部变量只能在其声明的函数内部访问,全局变量可以在整个程序中访问,而静态变量在作用域内保持其值并可保持全局或局部作用域。
作者:keep--fighting
出处:https://www.cnblogs.com/keep--fighting/p/17728070.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人