全局变量与静态变量
答:2. 全局变量、静态全局变量、静态局部变量都是在静态存储区(全局数据区)中分配空间的,而局部变量是在栈上分配空间的。3. 全局变量、静态变量的生命期和程序生命期是一样的,在程序结束之后操作系统会回收空间。4. 全局变量和静态变量都是保存在静态存储区中,生命期和程序一样,但是不同的是全局...
答:1> 修饰符全局变量在声明源文件之外使用,需要extern引用一下; 静态变量使用static来修饰 2> 存储地址 两者都是存储在静态存储区,非堆栈上,它们与局部变量的存储分开 3> 生命周期两者都是在程序编译或加载时由系统自动分配的,程序结束时消亡 4> 外部可访问性 全局变量在整个程序的任何地方均可访问,...
答:这个是个概念问题.全局变量是相对于局部变量来说的,全局变量可以改变,在程序的任何地方都可以读取和修改,而局部变量只能在语句块内作用,超出作用范围就失效了.静态变量(static)是相对自动变量(auto)等而言的,一旦声明为静态变量,在编译时刻开始永远存在,不受作用域范围约束,但是如果是局部静态变量,则此静态...
答:而静态变量就好比你在自己家里说话的同时还录了音,这样下次再要说话的时候,你以及你的家里人就能知道你上次说了什么话,你可以直接使用你说过的话,也可以修改甚至推倒重来。也就是说静态变量可以在过程或函数重复运行的时候保留上次运行的值(而普通的局部变量在函数过程再次执行时会重新变为初始值)...
答:就是说一个项目里如果有多个源程序文件 非静态全局变量可以在所有源文件里调用 静态全局变量只能在本文件里调用,不允许在其他文件里调用 //file1.cpp static int a;//只能在file1.cpp里使用 int b;//可以在file2.cpp里使用 extern int c;//file2.cpp里的c int main(void){ a = 1;b = ...
答:1、static 全局变量称:静态外部变量或称静态全局变量。 2、非static全局变量称:外部变量或称全局变量。 3、区别是:用static声明的外部变量,只能供本文件内的函数调用,不能被其它文件的函数所调用。
答:全局变量与全局静态变量的区别:(a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别。(b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享
答:全局变量就是对于整个程序,都可以调用的变量,但程序里面不一定就只是一个程序,也可能调用其他子程序,只在子程序里面声明并起到作用的就是局部变量,静态变量就是指变量的地址不变,也就是说变量,本质上就是一个寄存器或者存储区,每个存储的位置都是有固定的地址,以便访问,但有时候,并不一定要一...
答:不太严格的说,可以这么认为。因为全局变量和静态变量在内存里是储存在一个地方的。叫 data segment (数据段),静态区。意思是这个地方的数据的生命周期是不变的,只要程序本身在运行,他们就会存在。所以说他们都存在同一片区域内。你能想到 静态变量 和 全局变量 在使用的时候有什么区别吗?唯一的区别...
答:就是说一个项目里如果有多个源程序文件 非静态全局变量可以在所有源文件里调用 静态全局变量只能在本文件里调用,不允许在其他文件里调用 //file1.cpp static int a;//只能在file1.cpp里使用 int b; //可以在file2.cpp里使用 extern int c; //file2.cpp里的c int main(void){ a = 1;b ...
网友评论:
咎聂15737163512:
静态变量和全局变量的区别 -
20115鄂罡
: 全局变量与全局静态变量的区别:(a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别.(b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的.(c)具有外部链接的静态;可以在所有源文件里调用;除了本文件,其他文件可以通过extern的方式引用;静态全局变量的作用: (a)不必担心其它源文件使用相同变量名,彼此相互独立.(b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改. (c) 只能在本文件中使用!具有内部链接的静态;不允许在其他文件里调用;
咎聂15737163512:
全局变量和静态变量有何异同 -
20115鄂罡
: 全局变量,作用域是整个程序,若某一局部重新定义这个量,则全局变量作用域是除这个局部外的整个程序.它的生命期与程序生命期一样长.静态变量保存在静态存储区,它的生命期与程序生命期相同.例如,某一子程序(子函数)里定义了一个静态量,当程序执行退出该子程序时,这个量仍被保留,其它非静态量的存储单元则被释放.也就是说,非静态量的生命期与子程序的生命期相同,进子程序,分配单元,退出则取消,上次调用子程序时非静态量消失,静态量却能保留上次调用的结果.相同 -- 生命期与程序生命期相同 不同 -- 作用域不同
咎聂15737163512:
全局变量和静态局部变量有什么区别 -
20115鄂罡
: 虽然之前在编程时对这四个“变量”就有不少困惑,但一直没去细究,前两天在联想的笔试题中看到了这样一道题,貌似知道它们的区别却又不能说出其中的原理,今天决定将其弄清楚. 局部变量:在一个函数中或复合语句中定义的变量,在动...
咎聂15737163512:
全局变量跟静态变量有什么不一样 -
20115鄂罡
: 了解变量的关键在于“存在范围”和“作用域”两个概念. “存在范围”指存储变量的内存空间在什么时间段内存在.全局变量和静态变量都是在程序运行之始就产生,运行结束才销毁,是一样的. “作用域”指变量在什么时间段内可见,即可以被识别.全局变量的作用域是整个程序运行过程,静态变量的作用域是声名该变量的局部函数内.在总程序内和这个函数外,静态变量虽然存在,但写下变量名时编译器却不认识,这是区别. 关键在于了解存在和可见的区别.
咎聂15737163512:
C++ 全局变量和全局静态变量有什么区别呢?
20115鄂罡
: 1、全局变量是不显示用static修饰的全局变量,但全局变量默认是静态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量. 2、全局静态变量是显示用static修饰的全局变量,作用域是所在的文件,其他的文件即使用extern声明也不能使用.
咎聂15737163512:
22、 全局变量、局部变量、静态变量的区别 -
20115鄂罡
: (1)静态局部变量在函数内定义,但不象自动变量那样,当调用时就存在,退出函数时就消失.静态局部变量始终存在着,也就是说它的生存期为整个源程序.(2)静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即...
咎聂15737163512:
PHP静态全局变量和普通全局变量有什么区别 -
20115鄂罡
: 以前在远标了解过全局变量与全局静态变量的区别:(a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别.(b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的.(c)具有外部链接的静态;可以在所有源文件里调用;除了本文件,其他文件可以通过extern的方式引用;静态全局变量的作用: (a)不必担心其它源文件使用相同变量名,彼此相互独立.(b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改. (c) 只能在本文件中使用!具有内部链接的静态;不允许在其他文件里调用;
咎聂15737163512:
全局变量、静态全局变量、静态局部变量和局部变量的区别 -
20115鄂罡
: C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域. 从作用域看: 全局变量具有全局作用域.全局变量只需在一个源文件中定义,就可以作用于...
咎聂15737163512:
说明全局变量,局部变量,静态变量,自动型变量的含义和区别
20115鄂罡
: 全局变量就是对于整个程序,都可以调用的变量,但程序里面不一定就只是一个程序,也可能调用其他子程序,只在子程序里面声明并起到作用的就是局部变量,静态变量就是指变量的地址不变,也就是说变量,本质上就是一个寄存器或者存储区,每个存储的位置都是有固定的地址,以便访问,但有时候,并不一定要一个变量就占据一个地址,如果我变量所储存的数据并不需要长期存在,那么在我不需要的时候,就释放那个地址,以便其他程序利用这个地址,我不确定这个就叫自动型变量,我是没有用自动型变量来表示啦.其实也没有必要纠结于他们的表述,你只要知道变量本身就是一个存储空间罢了,并且知道怎样控制变量的作用位置,以及控制变量的存储空间就OK了.
咎聂15737163512:
局部静态变量和全局静态变量的区别 -
20115鄂罡
: 主要区别是作用域,局部静态变量只能在声明的函数中使用,而全局的没有限制.生命周期两者都是一样的.