ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

C语言作用域(静态,普通)

2026/9/13 18:50:56 拓冰建站 浏览量
C语言作用域(静态,普通)

作用域

  • 普通局部变量
  • 普通全局变量
  • 静态局部变量
  • 静态全局变量

普通局部变量

定义:
在 { } 中定义的变量,称为普通局部变量

使用范围:
距离最近的 { } 之间可以使用

生命周期:
距离最近的 { } 结束后,变量被释放,不可再用

注意事项:

  • 未初始化的普通局部变量,初始值是随机的,VS 下无法访问
  • 不同作用域下的同名普通局部变量,遵循就近原则,优先使用最近的同名变量

普通全局变量

定义:
在函数体外定义的变量,称为普通全局变量

使用范围:
当前源文件中,或其它源文件添加 extern 关键字后使用

生命周期:
整个程序执行完毕后释放

注意事项:

  • 未初始化的普通全局变量,初始值为 0,可以访问

静态局部变量

定义:
在 { } 中定义的变量,并且用 static 修饰,称为静态局部变量

语法:static 数据类型 变量名;

使用范围:
距离最近的 { } 之间可以使用

生命周期:
整个程序执行完毕后释放

注意事项:
未初始化的静态局部变量,初始值为 0,可以访问,且静态局部变量只被初始化一次

静态全局变量

定义:
在函数体外定义的变量,并且用 static 修饰,称为静态全局变量

使用范围:
从定义开始后,在当前源文件中可以使用

生命周期:
整个程序执行完毕后释放

注意事项:
未初始化的静态全局变量,初始值为 0,静态全局变量只初始化一次