99问答网
所有问题
C++静态变量和全局变量哪个先编译! 为什么?
如题所述
举报该问题
推荐答案 2011-05-29
这个有关系吗?
这个对于我们来说是透明的
静态变量和全局变量又分为有初始化过的,和没初始化过的,存在不同区域,没有初始化的放在bss段,程序运行时统一置0
初始化的应该就按先后顺序吧
这个真没研究过
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vXz7jzjBz.html
其他回答
第1个回答 2011-05-29
全局和静态都是在栈区建立的,不过谁先谁后每个C++具体的编译方式都不一样的!
第2个回答 2011-05-29
楼上坑爹呢,全局和静态不是在栈区建立的,在程序的数据储存区,先后是不确定的
第3个回答 2011-05-29
简单的说,是未定义的(C++的标准规定).
你的代码不能依赖于这些变量之间的编译次序,否则结果是未定义的.
第4个回答 2011-05-30
看顺序吧
第5个回答 2011-05-31
那得看你先把谁压栈了..
相似回答
C++
中
全局变量
,局部变量,
静态变量
,new的变量分别在
什么
时候构造和析构...
答:
全局变量和静态变量
差不多,都是程序刚开始就构造,程序结束析构,局部变量一般在某个函数中申明,执行函数时构造,函数退出析构,new的变量,什么时候new什么时候构造,用完后一般自己析构,想在哪儿在哪儿,如果不主动析构,那么程序结束会自己析构,但这样会有内存泄漏 ...
关于c语言中规定
变量
必须先定义后使用的问题
答:
1、
变量
在函数开头定义:便于修改。2、变量就近定义:便于阅读。3、变量在块语句的开头定义:有的临时变量放在语句块开头,可以不用在函数开头定义,并且在使用完毕后释放空间,可以这么做,但不要无故添加花括号来提高代码的结构。一般的,为了要达到最大的兼容跨平台性,还是放在函数开头定义。因为C89规...
C++
局部
静态变量
在
什么
时候分配内存和初始化
答:
全局变量
是在main函数之前就分配 局部变量在定义时分配,超出作用域后释放
静态
局部变量只分配一次,程序退出后才释放 函数参数与局部变量基本上相同在进入函数时分配,函数结束时释放
C++
全局变量和全局静态变量
有
什么
区别?
答:
2.
全局变量
、静态全局变量、静态局部变量都是在静态存储区(全局数据区)中分配空间的,而局部变量是在栈上分配空间的。3. 全局变量、
静态变量
的生命期和程序生命期是一样的,在程序结束之后操作系统会回收空间。变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问...
c语言中
static
关键字
答:
int n; //定义全局变量 再次
编译
运行程序,细心体会
全局变量和静态全局变量
的区别。2、静态局部变量 在局部变量前,加上关键字
static
,该变量就被定义成为一个静态局部变量。我们先举一个静态局部变量的例子,如下://Example 3 include <iostream.h> void fn();void main(){ fn();fn();fn();}...
静态
(s_)、成员(m_)、
全局
(g_)
变量
在
c++
中有
什么
含义、作用?
答:
静态变量
定义后,所有对象的这个变量都分配同一个地址,改变一个对象的这个变量会影响其他对象的一个变量。成员变量,在每创建一个对象时都会分配一个不同的地址空间,改变其中一个对象的这个变量,并不会影响其他成员的这个变量。成员变量的作用域,也就是有效范围是整个类。
全局变量
是说明语句不在任何一...
静态变量和全局变量
有
什么
区别?
答:
1)全局变量、静态全局变量以及静态局部变量都会被放在程序的静态数据存储区(全局可见)中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它们与堆变量、堆变量的区别。2)
静态变量
(包括静态局部
变量和
静态全局变量)用static告知
编译
器,自己仅仅在变量的作用范围内可见。这一点是它
与全局变量
的...
静态static
的
C++
中的static
答:
int n; //定义全局变量再次
编译
运行程序,细心体会全局变量和静态全局变量的区别。注意:
全局变量和全局静态变量
的区别1)全局变量是不显式用static修饰的全局变量,但全局变量默认是动态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。2)全局静态...
C++
不同文件中
全局变量
的初始化顺序(gcc)
答:
两个文件,每个文件里面都有
全局
对象,那么全局构造的顺序
和编译
时文件名的书写先后顺序一致。举个例子:t.h t1.cpp t2.cpp 然后用不同的文件顺序分别编译:打印:t.cpp 1 t2.cpp 1 打印:t.cpp 1 t2.cpp 0 可见全局构造的顺序和编译时文件名的书写顺序一致。
大家正在搜
全局变量局部变量静态变量
全局变量和静态变量的初值
c语言静态变量和全局变量的区别
全局变量一定是静态变量
c语言的全局变量与静态变量
static局部变量和全局变量
全局变量是静态变量吗
外部变量和全局变量
什么是全局变量
相关问题
请问C++语言里静态变量和全局变量有什么区别?谢谢
C++ 全局变量和全局静态变量有什么区别呢?
(C语言)编译时给全局变量和静态变量分配存储空间,运行时给局...
C++ 全局变量和全局静态变量有什么区别?
C++ 全局变量、静态全局变量和静态局部变量的异同?能结合代...
java中的全局变量和静态变量是在编译时分配内存还是在加载时...
C++中 类的静态成员变量怎么时候被创建起来(即什么时候分配...
c++全局变量在什么时候初始化