(1)全局静态变量:
全局变量前加static,变为全局静态变量;存储在静态存储区,在整个程序运行期间都存在;未初始化的全局静态变量会被初始化为0;全局静态变量在声明他的文件之外不可见。
(2)局部静态变量:
局部变量前加static,变为局部静态变量;存储在静态存储区;未初始化的局部静态变量会被初始化为0;作用域仍未局部,离开作用域后,局部静态变量仍在内存中,但不可访问,知道再次访问到作用域。
(3)静态函数:
在函数返回类型前加static,变为静态函数,函数的定义和声明在默认情况下都是extern类型的,静态函数只在声明的文件中可见,在其他文件中不可见,
(4)类的静态成员:
在类中,静态成员是类的所有对象共享的成员,属于整个类,不属于某个具体的对象。使用静态成员不会破坏隐藏的原则,保证了安全性。
Static成员在类存储,存储在data区,只能在类外初始化。可以通过类名访问也可通过对象访问。
(5)类的静态函数:
静态成员函数和静态数据成员一样,都属于类的静态成员,不属于某个具体的对象。静态成员函数的作用在于管理静态数据成员,静态成员函数不能直接引用类的非静态成员(不属于对象,没有this),可以引用类中的静态成员。