全局变量
- 概念:定义在函数外面的变量是全局变量
- 特点:全局变量具有全局的生存期和作用域
- 它们与任何函数都无关
- 在任何函数内部都可以使用它们
- 全局变量初始化
- 没有做初始化的全局变量会得到0值
- 指针会得到NULL值
- 只能用编译时刻已知的值来初始化全局变量
- 它们的初始化发生在main函数之前
- 没有做初始化的全局变量会得到0值
- 被隐藏的全局变量
- 如果函数内部存在与全局变量同名的变量,则全局变量被隐藏
- 如果函数内部存在与全局变量同名的变量,则全局变量被隐藏
本地变量
概念:在函数内部定义的变量
特点:只在函数范围内有效,也就是只有在函数内部才能使用他们。当函数使用完后,本地变量就会被释放掉。这意味着在其他函数中使用同名变量不会引起名称冲突。
静态本地变量
-
在本地变量定义时加上static修饰符就成为静态本地变量
-
当函数离开的时候,静态本地变量会继续存在并保持其值
-
静态本地变量的初始化只会在第一次进入这个函数时做,以后进入函数时会保持上次离开时的值