静态变量和全局变量都是在程序的整个生命周期内存在的变量,但是它们有以下区别:
作用域不同:全局变量的作用域是整个文件,静态变量的作用域则是在声明它的函数内部。
生命周期不同:全局变量的生命周期是整个程序的运行期间,静态变量的生命周期是在程序运行时分配内存,直到程序结束才释放。
存储方式不同:全局变量存储在全局数据区,静态变量存储在静态存储区。
初始化方式不同:全局变量没有赋初值时会被系统默认初始化为0,静态变量没有赋初值时会被系统默认初始化为0。
总的来说,静态变量作用于局部,只能在定义它的函数内部使用,而全局变量则可以在整个程序中使用。