99问答网
所有问题
c++ 全局变量 保存在什么地方,局部变量保存在什么地方
一道填空题,答案众多,问一问高人
举报该问题
推荐答案 推荐于2017-09-11
五大内存分区
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。
全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。
常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/BvOezWBt.html
其他回答
第1个回答 2008-05-04
全局在静态存储区,全局变量是程序是整个程序都需要用到的,单独分出一块存储区保存,该存储区存储的数据不清空.
局部变量是函数退出时自动清空的,所以放在栈里做临时存储
new,malloc分配的内存需要自己手动申请自己手动释放,在堆内存里
相似回答
c++
中两个
局部变量
和
全局变量,
变量名相同,请问内存空间如何分配?_百度...
答:
第一点:一个由 c/
C++
编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值
,局部变量
的值等。其操作方式 类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收 。注意它与数据结构中的堆是两...
请问
C++
语言里静态变量和
全局变量
有
什么
区别?谢谢
答:
2.
全局变量、静态全局变量、静态局部变量都是在静态存储区(全局数据区)中分配空间的,而局部变量是在栈上分配空间的
。3. 全局变量、静态变量的生命期和程序生命期是一样的,在程序结束之后操作系统会回收空间。4. 全局变量和静态变量都是保存在静态存储区中,生命期和程序一样,但是不同的是全局变...
静态
变量
的存储空间及
存储在
内存中的位置是如何决定的?
答:
1>全局变量,静态局部变量,
静态全局变量都在静态存储区分配空间,而局部变量在栈里分配空间
2>全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量...
局部变量,局部
静态
变量,全局变量,
全局静态变量分别
存放在哪个
区?
答:
局部变量
: 栈区 局部静态变量:静态区
全局变量
: 静态区的常量区 全局静态变量:静态区 内存分四个区:静态区,栈区,堆区,代码区
语句"int a;"定义的
变量
a
存储在
内存的
什么存储
区
答:
在C++中,内存分成5个区,他们分别是 堆、栈、自由存储区、全局/静态存储区和
常量存储区
。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆, 操作系统层面的术语。就是那些由malloc等分配的内存块,用free来结束自己的生命的。
C 程序中
全局变量存储
空间在( )分配
答:
1.栈区(stack):由编译器自动分配释放,存放函数参数值
,局部变量
值等。其操作方式类似于数据结构中栈。2.堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中堆是两回事,链表数据空间必须采用堆存储分配策。3.全局区(静态区)(static):
全局变量
和...
VC+++
全局变量
的定义
答:
第二,堆栈,这是在函数进入的时候的
局部变量
的分配区,第三,动态存储区,即程序里通过malloc或者new分配出来的,其中,第一和第二两个区域的数据的分配和销毁是由编译器管理的,第三个区域则是由程序编写者控制的,由程序员决定何时分配及何时销毁,所以,从存储位置的角度来讲,首先
,全局变量
是存储...
全局变量
和
局部变量
答:
是相对与全局变量而言的。在函数内定义的变量是
局部变量,
而在函数之外定义的变量称为外部变量,外部变量是
全局变量,
是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部
存放在
静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。
c++
静态
局部变量
和静态函数
答:
通常的想法是定义一个
全局变量
来实现。但是这样一来,变量已经不再属于函数本身了,不再仅受函数的控制,给程序的维护带来不便。静态局部变量正好可以解决这个问题。静态
局部变量保存在
全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。该变量在全局数据区内分配内存;静态局部变量...
大家正在搜
c语言全局变量和局部变量
全局变量和局部变量
怎样区分全局变量和局部变量
局部变量和全局变量重名
全局变量与局部变量
什么是局部变量
c语言全局变量怎么定义
全局变量怎么定义
形参是局部变量吗
相关问题
程序的局部变量 全局变量 动态申请数据分别存储在什么地方?
c++中变量地址存放在变量名中,那变量名的地址在哪呢?
程序的局部变量 全局变量 动态申请数据分别存储在什么地方?
局部变量 全局变量 c++ 题目 解释一下 哪里用局部 哪里...
C++中全局变量,局部变量,静态变量,new的变量分别在什么...
c++中,全局变量,局部变量,静态变量的作用分别是什么?
C++局部变量的存储方式有哪几种
刚学C++的时候大家知道局部变量保存在栈里面代表着什么吗,看...