静态局部变量和普通全局变量以及静态全局变量的区别

如题所述

第1个回答  2016-12-24
局部变量与其它三个有本质区别。
局部变量,定义在函数内,作用域为定义位置,到所在大括号结束。 每次执行到定义语句的时候,系统为该变量分配内存,当作用域结束后,内存被释放。

而另外三个,都是在系统运行时就分配内存,在运行过程中都不会释放,直到程序结束。
也就是说,局部变量和其它三个,最明显的区别:
1 生命周期不同
2 分配时间不同
3 分配位置不同。

而另外三个,在这几项上是相同的,之间的区别在于作用域。
全局变量,作用域为整个项目,不管在哪个文件中,只要声明后都可以使用。
静态全局变量,作用域为定义改变量的所在文件。
而静态局部变量,作用域与普通局部变量一样,都是定义位置到所在大括号结束。