1.说明外部对象(静态外部变量和静态函数)
(1)static 用于说明外部变量或函数,使该对象的作用域限定为被编译原文件的剩余部分,即从对象说明开始到所在源文件的结束部分;
(2)被static说明的外部对象对于其他的源文件是隐藏的,也就是说其他源文件无法访问得到;
(3)不会和同一程序的其他源文件中的同名的外部对象发生命名冲突。
2.说明内部变量(静态内部变量)
(1)和自动变量一样,作用域为某个特定的函数;
(2)和自动变量不同的是,不管其所在的函数是否被调用,该静态内部变量一直存在,且不会像自动变量一样,随着函数的调用与退出而存在与消失。
(3)一直占据存储空间。