66问答网
所有问题
c语言里什么变量存储在堆中什么变量存储在栈中啊!
如题所述
举报该问题
推荐答案 推荐于2016-06-24
来自百科:
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
3、全局区(静态区)(static)— 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
4、文字常量区 — 常量字符串就是放在这里的,程序结束后由系统释放 。
5、程序代码区 — 存放函数体的二进制代码。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/UsDsi9nnx.html
其他回答
第1个回答 2010-05-25
函数的局部变量、参数一般在栈中分配空间存储
也不是绝对的,编译器可能会优化使用寄存器传递参数
不过可以显式地规定函数的参数传递方式,可以查一下stdcall,fastcall等宏的具体定义和作用
局部变量中的静态变量的空间在数据段中,不在栈中
程序中动态分配的空间,如malloc分配的空间位于堆中
第2个回答 2010-05-22
临时变量都在堆里,
关于栈。。很复杂,我也是一知半解
相似回答
c语言里什么变量存储在堆中什么变量存储在栈中啊!
答:
局部
变量中的
静态
变量的
空间在数据段中,不
在栈中
程序中动态分配的空间,如malloc分配的空间位于
堆中
C语言
malloc()函数 分配内存空间尺寸的问题
答:
malloc是给指针
变量
分配内存空间的函数命令 正确使用:分配的空间要能保证容下你想
存储的
数据,不要和机器逗着玩(分配0空间,或少于自己实际需要的空间),如你上面的操作,表面上你程序运行没有问题,可实际上你占用了别人的地盘,只是当前你很幸运没有使程序出现问题,但不保证一定不出问题!!不再使...
C语言里
,哪些
变量
是
存放在堆里
?哪些是
存放在栈
里?
答:
在
c
/c++中,内存分成5个区,他们分别是
堆
、
栈
、自由存储区、全局/静态存储区和常量存储区。栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚
的变量的存储
区。
里面的变量
通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,...
C语言里
,哪些
变量
是
存放在堆里
?哪些是
存放在栈
里?
答:
堆区:全局变量,静态变量,malloc函数。栈区:函数的参数值,局部变量
。1、栈区(stack)— 编译器自动分配释放 ,例如存放函数的参数值,局部变量的值等。2、堆区(heap) — 由程序来分配释放, 若程序中不释放,那么在程序结束时可能由系统进行回收 ,例如全局变量,静态变量,malloc函数。
C语言中
外部变量,全局
变量存放在
哪里?内存?寄存器??
答:
内存中。具体点来说内存分为三块:静态区,堆区,栈区。外部变量和全局变量存放在静态区,局部
变量存放在栈
区,动态开辟的内存存在堆区。
C语言中
,
什么
是
栈
,什么是
堆
答:
1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部
变量
等值。局部变量,任务线程函数之类的是放在(使用)
栈里面的
,栈利用率高一些。其操作方式类似于数据结构中的栈。特别,栈是属于线程的,每一个线程会有一个自己的栈。2、堆区(heap):一般由程序员分配释放,若程序员不释放,则可能...
大家正在搜
c语言变量的存储类别
c语言存储变量的查找
c语言变量按其作用域分为什么
c语言中变量的类型
c语言中形参的缺省存储类别
c语言变量
c语言储存类型
变量存储类型
变量的存储类型有几种
相关问题
C语言里,哪些变量是存放在堆里,哪些是存放在栈里?(
C语言里,哪些变量是存放在堆里?哪些是存放在栈里?
C语言堆 栈各存放什么数据 指针是放到栈里面的 其他那些呢 ...
C语言中的 局部变量,存储在什么地方?
C语言中的栈、堆是什么?
C语言变量存储在内存(memory)中的什么地方
java静态全局变量存储在堆中的对象中,静态局部变量存储在哪...
C语言中,什么是栈,什么是堆