变量需要注意三大点:
1.作用域
2.生命周期
3.初始化值
变量类型 | 作用域 | 生命周期 | 初始化值 |
局部变量 | 在在定义变量的{}里面有效 | 开始:程序运行值变量处,才为此开辟空间 结束:所在函数结束后,系统自动释放空间(失去对该空间的控制权) | 未初始化值,随机 |
静态局部变量 | 在定义变量的{}里面有效 | 开始:main函数运行之前已经开辟空间 结束:程序运行结束后释放空间 | 0 |
全局变量 | 整个工程,所有文件都有效 | 开始:main函数运行之前已经开辟空间 结束:程序运行结束后释放空间 | 0 |
静态全局变量 | 当前文件有效 | 开始:main函数运行之前已经开辟空间 结束:程序运行结束后释放空间 | 0 |
个人总结:static会改变局部变量的生命周期和初始化值,但不能改变它的作用域。static会改变全局变量的作用域,让其作用域范围减小。