C --- 关键字 static

static 修饰变量
static 修饰局部变量

static 修饰局部变量(在函数内定义的变量),它的生存周期是整个源程序,但其作用域只在该函数内。且存储在静态区,所以static修饰的局部变量存储的空间不会随着该函数调用结束而被销毁,值得以保留。

static修饰全局变量

static修饰在函数外定义的变量,即:静态全局变量。全局变量的生命周期是整个进程,存储在静态区;静态全局变量的生命周期被限制在了声明它的原文件内,但是依然存储在静态区。

static 修饰函数

当static修饰函数的时候,函数变为内部函数(也称静态函数),内部函数默认只能在声明它的源文件中使用。默认情况下,函数都是外部函数,即:在某一文件声明并定义之后,其它文件 include该文件之后就可以使用这些外部函数,但是内部函数函数无法在其它文件中使用。

你可能感兴趣的:(C --- 关键字 static)