static extern 局部变量 全局变量 生命周期 作用域

static && extern

修饰局部变量

static 修饰局部变量
  • 延长局部变量声明周期,从程序启动到程序结束,但是没有修改变量的作用域
  • 定义变量的代码在整个程序运行期间就只执行一次
extern 不能修饰局部变量

修饰全局变量

static 修饰全局变量
  • 表示这个全局变量只能在当前文件使用,不能在其他文件使用
  • 在不同文件可以声明同名变量
  • 修饰函数表示这是一个内部函数
extern 修饰全局变量
  • 表示这个全局变量可以在其他文件使用
  • 在不同文件不能声明同名变量
  • 修饰函数表示这是一个外部函数

全局变量、静态全局变量、静态局部变量的声明周期相同,都是直到程序结束才被释放


局部变量 && 全局变量

局部变量

  • 形参
    作用域:函数体内
  • 函数局部变量(在函数体内定义的局部变量)
    作用域:从定义这个变量开始到函数结束
  • 静态局部变量
    作用域:当前文件

全局变量

如果函数内部,全局变量和局部变量同名,那么在这个函数内部,局部变量起作用

  • 静态全局变量
    作用域:当前文件
  • 全局变量
    作用域:所有文件

你可能感兴趣的:(static extern 局部变量 全局变量 生命周期 作用域)