1、使用static限定外部变量或者函数,可以将static后声明的对象的作用域限定在被编译的文件的剩余部分。这样就达到了隐藏的目的。
2、使用static声明内部变量,则其变量用法和普通变量用法差别不大,属于局部变量。但是,不管其所在函数是否被调用,该类型的变量一直存在,不会随着函数的调用和退出而存在和消失。换句话说,static类型的内部变量是一种只能在某个特定函数中使用并且一直占据存储空间的变量。
3、静态变量只有第一次进入程序块的时候被初始化,而普通变量是每次进入都被初始化。