static

staticextern 不能同时出现

static 除了「静态」作用之外,还有限定作用域的作用

static 放在全局变量之前

表示静态的变量,分配内存的时候,存储在静态区,生命周期和程序相同,如果未初始化系统自动初始化为 0

作用域是这个源文件

static 放在局部变量之前

static 放在全局变量之前作用差不多,只是作用域是这个函数

例如每次调用函数的时候,不想某个变量被释放掉,这时候就可以使用 static 来修饰局部变量

static 放在函数之前

和函数之前没有 static 为唯一区别是作用域不一样, 加了 static 之后,函数的作用域被限定为这个源文件,其它源文件不能调用

当每个人各自编写源代码且需要合并,但是有些是重名的函数的时候,可以使用 static 来限定