变量的属性:
存储位置、生命周期、作用域
全局变量
定义在函数外
存储位置:初始化过存储在全局段,未初始化存储在静态数据段,全局变量有默认值(0)
生命周期:程序运行前就定义好,程序结束后才会被释放,在程序运行期间不会被释放,比较浪费内存
作用域:整个程序的任何位置都可以使用
注意:这是共享数据的一种方式,但要尽量少用,以免造成命令冲突
局部变量
定义在函数内,只属于它所在的函数
存储位置:栈,没有默认值/默认值不确定,记得初始化
生命周期:函数被调用时,变量才会被定义出来
注意:函数执行结束变量就会被释放
作用域:从定义位置开始,到函数结束
块变量
定义在 if、for、while 等语句块内
存储位置:栈,默认值不确定,记得初始化
生命周期:语句块被执行时,变量才被定义出来
注意:函数执行结束变量就会被释放
作用域:从定义位置开始,到大括号结束