c++变量 静态和全局有何区别

avatar
作者
筋斗云
阅读量:0

静态变量和全局变量都是在程序的整个生命周期内存在的变量,但是它们有以下区别:

  1. 作用域不同:全局变量的作用域是整个文件,静态变量的作用域则是在声明它的函数内部。

  2. 生命周期不同:全局变量的生命周期是整个程序的运行期间,静态变量的生命周期是在程序运行时分配内存,直到程序结束才释放。

  3. 存储方式不同:全局变量存储在全局数据区,静态变量存储在静态存储区。

  4. 初始化方式不同:全局变量没有赋初值时会被系统默认初始化为0,静态变量没有赋初值时会被系统默认初始化为0。

总的来说,静态变量作用于局部,只能在定义它的函数内部使用,而全局变量则可以在整个程序中使用。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!