1. static关键字作用
一般标识修饰的变量保存在静态存储区
c语言只能修饰局部静态变量和外部静态变量;
C++,除了修饰局部静态变量和外部静态变量,还用来定义类的成员变量和函数。即静态成员和静态成员函数。
1.1. 1.修改局部变量
该变量在 静态存储区 分配内存;
该变量只能在首次函数调用中进行首次初始化,之后的函数调用不再进行初始化;
该变量的生命周期与程序相同,但其作用域为局部作用域,并不能一直被访问;
1.2. 2.修饰全局变量
- 修饰全局变量时,使得该变量在静态存储区 分配内存;
- 在声明该变量的整个文件中都是可见的,而在文件外是不可见的
1.3. 3.修饰函数时
- 在声明该函数的整个文件中都是可见的,而在文件外是不可见的,从而可以在多人协作时避免同名的函数冲突;
1.4. 4.修饰成员变量时
- 所有的对象都只维持一份拷贝,可以实现不同对象间的数据共享;
- 不需要实例化对象即可访问;不能在类内部初始化,一般在类外部初始化,并且初始化时不加
static;
1.5. 5. 修饰成员函数时
- 该函数不接受
this指针,只能访问类的静态成员(函数和变量); - 不需要实例化对象即可访问。