1. static
1.1 局部变量
- 生命周期是静态数据区,直到程序结束。
- 作用域仍然是当前语句块。
- 注意:静态局部变量只在初次运行时进行初始化,且只进行一次。
- 注意:如果没有进行初始化的话,整形变量系统自动赋值为0,字符数组,自动赋值为’/0’
1.2 全局变量
- 作用域仅在本文件。
1.3 修饰函数
与修饰变量大同小异,仅仅改变了作用域。
1.4 成员函数
- 该函数属于这个类,而不属于类的任何对象。只能访问静态成员。
2. extern
- 表示此变量/函数在别处定义,要在此处引用。
- 如果是在main函数中进行声明的,则只能在main函数中调用,在其它函数中不能调用。
- 其实要调用其它文件中的函数和变量,只需把该文件用#include包含进来即可,为啥要用extern?因为用extern会加速程序的编译过程,这样能节省时间。
- 用于指示C或者C++函数的调用规范:比如在C++中调用C库函数,就需要在C++程序中用extern “C”声明要引用的函数。
(这是给链接器用的,告诉链接器在链接的时候用C函数规范来链接。主要原因是C++和C程序编译完成后在目标代码中命名规则不同,用此来解决名字匹配的问题)