全局变量和静态局部变量有什么区别? 存储的地方是一样的,不同之处在于它们的作用域不同:全局变量基本上在程序的任何地方都能被看到而静态局部变量只能在其指定的范围内被使用比如int i ; //全局变量class C{public:static int i_C; //静态局部变量}void main(){i = 1; //合法i_C = 1; //错误C::i...
1、存储位置不同 静态局部变量:栈区 静态全局变量:全局数据区 2、作用域不同 静态局部变量:仅在定义它的函数内部可见 静态全局变量:在整个程序中可见 3、初始化不同 静态局部变量:可以在定义时初始化,也可以在声明时初始化,还可以在使用前初始化 静态全局变量:可以在定义时初始化,也可以在使用前初始化 4、生命...
按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。 通常,static的使用在三个方面: (1)静态局部变量 (C语言) (2)外部静态变量/函数 (C...
全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。 两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源...
按作用域分,全局变量在整个工程文件内都有效;静态全局就量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。 全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。局部变量的值不可知。
1>全局变量,静态局部变量,静态全局变量都在静态存储区分配空间,而局部变量在栈里分配空间 2>全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量...
作用域不同 全局变量顾名思义作用域为全局 静态局部变量与普通函数内局部变量作用域相同
(2)自动变量和局部静态变量有何区别?相关知识点: 试题来源: 解析 答: 这两者在存储方式上并无不同,都是静态存储方式。这两者的区别在于普通全局变量的作用域可以用extern扩展到同一个程序的其他源程序中 而静态全局变量则限制了其作用域, 不能用extern扩展其作用域到同一个程序的其他源文件中。 即只在定义该变...
也就是说,局部变量和其它三个,最明显的区别:1 生命周期不同 2 分配时间不同 3 分配位置不同。而另外三个,在这几项上是相同的,之间的区别在于作用域。全局变量,作用域为整个项目,不管在哪个文件中,只要声明后都可以使用。静态全局变量,作用域为定义改变量的所在文件。而静态局部变量,作用域...