你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

楼主: 苏柚

【3.21签到】每日问答——Heap与stack的差别

   关闭 [复制链接]
回帖奖励 206 ST金币 回复本帖可获得 2 ST金币奖励! 每人限 1 次

1

主题

12

回帖

0

蝴蝶豆

初级会员

最后登录
2017-2-28
发表于 2016-3-21 10:11:51 | 显示全部楼层

回帖奖励 +2 ST金币

回复 支持 反对

使用道具 举报

5

主题

115

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-2-12
发表于 2016-3-21 10:19:32 | 显示全部楼层

回帖奖励 +2 ST金币

heap是堆,stack是栈;
stack的空间由系统自动分配和释放,heap的空间手动分配和释放;
stack空间有限,heap有很大的自由存储区;
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符;
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
回复 支持 反对

使用道具 举报

5

主题

115

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-2-12
发表于 2016-3-21 10:20:27 | 显示全部楼层
heap是堆,stack是栈;
stack的空间由系统自动分配和释放,heap的空间手动分配和释放;
stack空间有限,heap有很大的自由存储区;
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符;
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
回复 支持 反对

使用道具 举报

0

主题

1172

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-8
发表于 2016-3-21 10:25:24 | 显示全部楼层

回帖奖励 +2 ST金币

签到签到
回复 支持 反对

使用道具 举报

15

主题

571

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-12-3
发表于 2016-3-21 10:26:46 | 显示全部楼层

回帖奖励 +2 ST金币

1、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由操作系统回收,分配方式倒是类似于链表。
2、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
回复 支持 反对

使用道具 举报

5

主题

115

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-2-12
发表于 2016-3-21 10:26:49 | 显示全部楼层
heap是堆,stack是栈;
stack的空间由系统自动分配和释放,heap的空间手动分配和释放;
stack空间有限,heap有很大的自由存储区;
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符;
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
回复 支持 反对

使用道具 举报

1

主题

902

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-12-7
发表于 2016-3-21 10:35:22 | 显示全部楼层

回帖奖励 +2 ST金币

1、堆: 一般由程序员分配释放, 若程序员不释放,程序结束时可能由操作系统回收
2、栈:由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。
回复 支持 反对

使用道具 举报

0

主题

161

回帖

0

蝴蝶豆

高级会员

最后登录
2020-12-5
发表于 2016-3-21 10:37:30 | 显示全部楼层

回帖奖励 +2 ST金币

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
  栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
  堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
     堆和栈的区别:
      1、管理方式不同;
  2、空间大小不同;
  3、能否产生碎片不同;
  4、生长方向不同;
  5、分配方式不同;
  6、分配效率不同;
回复 支持 反对

使用道具 举报

0

主题

762

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-18
发表于 2016-3-21 10:37:50 | 显示全部楼层

回帖奖励 +2 ST金币

.heap是堆,stack是栈。2.stack的空间由操作系统自动分配和释放,heap的空间是程序员申请和释放的
回复 支持 反对

使用道具 举报

4

主题

786

回帖

7

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2016-3-21 10:37:50 | 显示全部楼层

回帖奖励 +2 ST金币

签到
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版