• 定义在函数外面的变量是全局变量
  • 全局变量具有全局的生存期和作用域
    • 它们和任何函数都无关
    • 在任何函数内部都可以使用它们

初始化

  • 没有初始化的全局变量会得到0值 (指针就是NULL)
  • 只能用编译时刻已知的值来初始化全局变量
    • 也就是只能是常量(那么const也是常量), 不能是变量
  • 它们的初始化发生在main函数之前

对外公开内容

不对外公开的内容

注意点

  • 如果在更小的范围内定义了与全局变量同名的量, 那就会暂时被掩盖掉

  • 不要使用全局变量来在函数间传递参数和结果

  • 尽量避免使用全局变量 (在多线程中不好使)