两种用法:
1.面向过程设计,应用于普通的变量和函数
2.面向对象设计,用于类
1.静态全局变量
1在全局数据区分配内存
2在文件内可见,文件外不可见
2.静态局部变量
1作用域仅在函数内部,外部不可访问
2内存分配在全局数据区,生命周期为整个程序的生命周期
3.静态函数
只能在声明它的文件当中可见,不能被其他文件使用
面向对象中的static
1.静态数据成员
非静态数据成员,每个对象对其都有一份独立拷贝,而静态数据成员则被当做类的成员,无论该类有多少对象,静态数据成员都只有一份!
静态数据成员存储在全局数据区,定义时需分配内存,不能在类声明中定义。
2.静态成员函数
不具备this指针,因而无法访问属于类对象的非静态数据成员,无法访问非静态成员函数。