局部变量和全局变量
局部变量:定义在函数内
存储位置:stack 栈内存
生命周期:从函数调用开始到函数结束
作用范围:只能在函数内使用
全局变量:定义在函数外
存储位置:data(初始化)或者bss(未初始化)
生命周期:从main运行前到程序结束后才释放
作用范围:程序的任何位置都可以使用
块变量:定义在if/for/while语句块内
存储位置:stack 栈内存
生命周期:从语句块调用开始到语句块结束
作用范围:只能在语句块内使用
注意:局部变量与全局变量可以同名,但是同名局部变量会屏蔽同名的全局变量
块变量也会屏蔽同名的局部变量和全局变量
注意:建议全局变量首字母大写