局部变量与全局变量
1.在函数内部定义的变量(包括形参)叫局部变量
2.在函数外部定义的变量叫全局变量
3.局部变量在函数执行阶段期间有效,仅在函数内部可见
4.全局变量在程序运行期间有效,在所有函数中可见
5.在其它文件中访问全局变量需要使用外部声明
6.局部变量和全名变量同名,优先选择局部变量
静态变量与静态函数
静态局部变量不会因函数返回而被回收,程序退出才被回收,但其可见性仍然局限于函数内部
静态全局变量和静态函数的可见性,仅局限于定义该变量和函数的源文件,即使使用外部声明
生命周期和使用范围 (重要!!!)
局部变量:
使用范围:从定义的地方开始,直到所在的函数结束。
内存生命周期:从定义的地方开始操作系统为其分配内存,直到所在函数结束,操作系统立刻回收其内存
形参也是局部变量!
仅限于函数内部使用
if语句内定义的也是局部变量!
使用:从定义的地方开始到花括号结束
生命:从定义的地方开始操作系统分配到所在花括号结束
全局变量:
使用范围:从定义的地方开始,依次向下所有的函数都可以访问
生命周期