全局变量和静态局部变量有什么区别
全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。
全部变量就是在整个工程工都可以调用。比如我在一个标准模块中定义了一个全局变量,那么我无论是在窗体1还是窗体2还是其他地方都可以调用它。而局部变量就不行,比如我在某个窗体定义了一个变量,那么这个变量我就只能在这个窗体中使用。 静态变量,就是当我完一个过程后,它的值保存下来了。
简单的说静态局部变量与全局变量最明显的区别就在于:全局变量在其定义后所有函数都能用,但是静态局部变量只能在一个函数里面用。
相关问答
问:static全局变量存储在哪里?在编译时-?
答:哎呀,static 全局变量是存储在静态存储区的哟!在编译的时候就已经分配好存储空间啦。
它的生命周期可是从程序开始一直到结束呢,不会随函数调用结束而消失哟!
问:static变量和全局变量的区别?
答:哎呀,静态变量和全局变量区别还是蛮大的哟!静态变量是在函数内定义但能在整个程序运行期间保留值,而全局变量呢,是在所有函数外定义,整个程序都能访问和修改它。
静态变量局限在定义它的范围内,全局变量范围可就大多啦!
问:全局变量说明为static?
答:哎呀,全局变量说明为 static 呢,这意味着这个变量在整个程序的生命周期内都存在,并且只在当前的编译单元内可见哟。
它可以用来控制变量的作用域和存储方式呢,能避免一些不必要的问题呀。
问:其作用域将被扩大?
答:哎呀,“其作用域将被扩大”这个说法呢,意思就是原本有限的范围会变得更大啦。
比如说某个规则或者某个功能,之前可能只在小范围内起作用,现在要扩大到更广泛的区域啦。
这可能会带来更多的影响和变化哟!