试想一个问题我们直接在文件中定义一个变量,这个变量的作用范围是什么?
例如:
定义一个变量
上边定义的这个age变量,作用范围是我们整个项目,如果我们在项目中再定义一个age变量,会报下边这个错误:
再定义一个变量
重复定义的报错
下边抛出一个问题:
如果我们就是想再定义一个名叫age的全局变量,怎么办?这时候static关键字就派上了用场。static修饰的全局变量,限定这个全局变量的作用域为定义它的那个文件。这样就不会报错了。
static int age = 100;
注意:
1.静态全局变量和全局变量都是静态存储形式。
2.局部变量存储在栈中,静态变量存储在静态区中。因此,把局部变量改为静态变量也改变了变量的生命周期。
3.staitic修饰后的变量存储在静态区,在程序运行完毕后才会销毁,而不是在函数调用结束后。