一、非类中的static
1、隐藏
static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。
2、保持局部变量持久性
在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
3、static变量默认初始化为0
static修饰的局部变量存放在全局数据区的静态变量区。初始化的时候自动初始化为0(自动变量的值是随机的,除非它被显式初始化)。
二、类中的static
1、静态数据成员
(1)静态数据成员不属于对象,属于类,所有实例对象共用一份。因此,初始化时使用作用域运算符来标明它所属类。可以实现多个对象之间的数据共享,又因为它在内存中只占一份空间