66问答网
所有问题
C语言中,如果栈区空间不足,变量将存到哪里? 在内存中,静态区、代码区、堆区、栈区 有固定的排列顺序吗?
如题所述
举报该问题
推荐答案 2011-02-17
1.栈空间(stack段)用来存放函数中的局部变量和函数调用时的上下文。
2. 全局变量和静态变量存放于进程的数据段。
3. Windows下进程的栈空间会自动增长,一般不会出现空间不足的问题;
4。如果变量实在太大,甚至大于栈可增长的范围,如数百兆,则会编译出错。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/nn2D9pp2p.html
其他回答
第1个回答 2011-02-17
存到heap中,就是堆上,Obj *p = new Obj ();
p的空间就是使用的堆上的,
char test[120800] = {0}; test的空间就是在栈上的,
相似回答
c语言
里什么
变量
存储
在堆
中什么变量存储在
栈
中啊!
答:
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(
静态区
)(static)...
C语言中到变量
与
内存
的关系
答:
3、全局区(
静态区
)(static)—存放全局变量、静态数据、常量。程序结束后由系统释放。4、文字常量区 —常量字符串就是放在这里的。程序结束后由系统释放。5、程序
代码区
—存放函数体(类成员函数和全局函数)的二进制代码。
C中,
宏定义的常量并不会分配
空间,
而是在代码预编译时替换这个宏。而const修...
C语言
里,哪些
变量
是存放
在堆
里,哪些是存放在
栈
里?
答:
在c/c++
中,内存
分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。1,栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。2,堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去...
如何理解把
内存
分为4段
,栈区,堆区,代码区,
全局
变量区?
答:
1、栈区(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM
内存
资源;2、堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象
,如果
没有引用指向这个对象就回收;3、全局
变量区
(datasegment)—...
我想了解
c语言中内存
分配问题方面的知识
答:
当然
,如果
你不手动释放(free()函数)这些
空间,在
程序运行结束后系统也会将之自动释放。对于小程序来说可能感觉不到影响的存在,但对于大程序,例如一个大型游戏,就会遇到
内存
不够用的问题了 (三) 全局区 C里的全局变量和
静态变量
存储在全局区。它们有点像堆上的空间,也是持续存在于程序的整个运行...
C语言中
的 局部
变量,
存储在什么地方?
答:
C语言中
的局部变量存储在栈里。普通的局部
变量在栈空间
上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配(malloc),但是记得使用完这个
堆空间
后要释放之。在栈空间上分配时是要注意
内存
的,不能分配内存过大。
如果栈
内空间小于...
大家正在搜
成员变量的引用在堆里还是栈
为什么局部变量存在栈里
变量在栈和堆区别
成员变量存放在堆还是栈
java实例变量存放在栈还是堆
指针变量存储在堆还是栈
C语言如何定义一个栈
变量放在堆还是栈
java成员变量在堆还是栈
相关问题
求助: C语言局部变量在栈上分配的方式是怎么样的?
如果栈区空间不足,变量将存到哪里?
C语言中全局变量存放在内存空间中那个位置
谁能给我讲讲内存里什么是常量区,变量区,堆区,栈区。。。
如何理解把内存分为4段,栈区,堆区,代码区,全局变量区?
求夹大神,java中将内存分为堆区,栈区,方法区。静态成员和...
临时变量到底存在在内存中的哪个区?堆?栈?全局数据区?还是其...
C#声明的变量,存放在内存什么地方?栈?堆 ?