目录
/*当前仅为所学到的内容*/
变量可从两部分分析:1.生存周期 2.作用范围
一.生存周期
1.静态存储区
静态存储区又分为:全局变量(外部变量),静态局部变量
i.全局变量(外部变量)
定义在函数外且只初始化一次,以后每次调用函数时保留上次函数调用结束时的值,直至程序结束。若为隐式初始化,则初始值为0.
ii.静态局部变量(static声明)
(下文详细说明)
/*常变量和常量也存储与静态存储区*/
2.动态存储区
i.自动变量
自动变量的生命周期是由函数的生命周期所决定,即函数执行完毕自动变量便销毁。
堆栈没学(后续补充)
二.作用范围
1.全局
i.全局变量
2.局部
ii.局部变量
也称内部变量,是指在一个函数内部或复合语句内部定义的变量。
在许多程序语言中,自动变量与术语“局部变量”(Local Variable)所指的变量实际上是同一种变量,所以通常情况下“自动变量”与“局部变量”是同义的。摘自百度百科
三.总结
1.静态局部变量详细说明
不仅具有存储在静态存储区的特点也具有局部变量的特点
1.在静态存储区内分配存储单元,在程序整个运行期间都不释放。
2.若为隐式初始化,则初始值为0.
3.作用域仍在局部,当静态局部变量所在的函数或语句块结束,其作用域也结束。其他函数或语句块不能调用。
2.初始化注意事项
对于处于动态存储区的变量一定要进行显式初始化。否则会将变量所在地址上的野值或垃圾值作为自己的值导致代码出错。