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

static && extern

修饰局部变量

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

修饰全局变量

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

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


局部变量 && 全局变量

局部变量

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

全局变量

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容