你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【3.21签到】每日问答——Heap与stack的差别
[复制链接]
苏柚
提问时间:2016-3-21 08:31 /
阅读主题, 点击返回1楼
赞
0
收藏
0
评论
103
分享
发布时间:2016-3-21 08:31
请先
登录
后回复
103个回答
huaiqiao
回答时间:2016-3-21 10:35:22
a0a.1 32b0c
1、堆: 一般由程序员分配释放, 若程序员不释放,程序结束时可能由操作系统回收
2、栈:由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。
赞
0
评论
回复
支持
反对
yuazhang
回答时间:2016-3-21 10:37:30
a0a.1 32b0c
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
堆和栈的区别:
1、管理方式不同;
2、空间大小不同;
3、能否产生碎片不同;
4、生长方向不同;
5、分配方式不同;
6、分配效率不同;
赞
0
评论
回复
支持
反对
zjg_lizhen
回答时间:2016-3-21 10:37:50
a0a.1 32b0c
.heap是堆,stack是栈。2.stack的空间由操作系统自动分配和释放,heap的空间是程序员申请和释放的
赞
0
评论
回复
支持
反对
wtliu
回答时间:2016-3-21 10:37:50
a1024a.1 32b0c
签到
赞
0
评论
回复
支持
反对
博根
回答时间:2016-3-21 10:46:14
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
wanyisq
回答时间:2016-3-21 11:07:05
a1024a.1 32b0c
签到
签到
赞
0
评论
回复
支持
反对
党国特派员
回答时间:2016-3-21 11:28:55
a0a.1 32b0c
heap是全局的
stack是局部的
赞
0
评论
回复
支持
反对
qiu-368230
回答时间:2016-3-21 11:34:30
a0a.1 32b0c
签到 签到
赞
0
评论
回复
支持
反对
awficel1
回答时间:2016-3-21 11:50:24
a0a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
fyaocn
回答时间:2016-3-21 11:50:49
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
bjflsk
回答时间:2016-3-21 11:53:44
a0a.1 32b0c
stack的空间由系统自动分配和释放,heap的空间手动分配和释放;
stack空间有限,heap有很大的自由存储区;
赞
0
评论
回复
支持
反对
迷你小子
回答时间:2016-3-21 11:58:56
a0a.1 32b0c
签到。签到。签到。
赞
0
评论
回复
支持
反对
yubinwu_3004964
回答时间:2016-3-21 11:59:33
a0a.1 32b0c
z00 发表于 2016-3-21 10:46
签到签到
签到签到
题目越来越难了喔,只知道stack
赞
0
评论
回复
支持
反对
风子
回答时间:2016-3-21 12:05:12
a0a.1 32b0c
签个到
赞
0
评论
回复
支持
反对
sting
回答时间:2016-3-21 12:05:28
a1024a.1 32b0c
签到.......
赞
0
评论
回复
支持
反对
1
2
3
4
5
6
7
/ 7 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
2、栈:由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
堆和栈的区别:
1、管理方式不同;
2、空间大小不同;
3、能否产生碎片不同;
4、生长方向不同;
5、分配方式不同;
6、分配效率不同;
签到
stack是局部的
stack空间有限,heap有很大的自由存储区;
签到签到
题目越来越难了喔,只知道stack