static是由来修饰变量和函数的:局部变量,全局变量,函数
局部变量:在修饰局部变量的时候,局部变量出了作用域,不销毁,本质上 是改变了变量的存储位置,影响变量的生命周期,使之周期跟程序周期一样长。
其实编译器在编译代码时就为静态变量分配了地址
全局变量:就是将其变量定义在另一个空间内
使用时只需要声明外部符号即可运行
eg:extern+全局变量
static修饰全局变量的时候,此外部链接属性变为内部,这种变量只能在自己所在的.c文件中使用
函数:
使用建议:若一个全局变量,只想在其自身所在的源文件内部使用,不想被其他文件发现,可用“static”修饰。加上后无法解析外部符号。