问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

内存中的栈和堆有什么作用?

发布网友 发布时间:2022-04-24 00:12

我来回答

1个回答

热心网友 时间:2023-04-24 10:36

通常内存分为两部分:一部分是栈(stack,也称堆栈),另一部分是堆(heap)。 栈,可以看作是一摞卡片,最上面的卡片表示程序的当前作用域,这往往就是当前正在执行的函数。当前函数中声明的所有变量都置于栈顶帧中,即占用栈顶帧的内存,这就相当于一摞卡片中最上面的一张卡片。如果当前函数调用了另一个函数,举例来说,当前函数foo()调用了另一个函数bar(),就会在这摞卡片上再加一个新的卡片,这样bar()就有了自己的栈帧(stack frame)以供使用。从foo()传递到bar()的所有 参数都会从foo()栈帧复制到bar()栈帧中。(注:栈帧很有意义,因为栈帧可以为每个函数提供一个独立的内存工作区。如果一个变量是在foo()栈帧中声明的,那么调用bar()函数不会对它带来改变,除非你专门要求修改这个变量。另外,foo()函数运行结束时,栈帧即消失,该函数中声明的所有变量都不会再占用内存了。) 堆,一段完全独立于当前函数或者栈帧的内存区。如果一个函数中声明了一些变量,而且希望当这个函数完成时其中声明的变量仍然存在,就可以将这些变量置于堆中。 堆和栈相比,没那么清晰的结构性。可以把堆可作是一“堆”小玩艺。程序可以在任何时间向这个“堆”增加新的东西,或者修改堆中已有的东西。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么网址更新火影忍者集数最快 如果你跟男朋友分手了,他的回答是顺其自然这是什么意思,我该怎么办... 一个女人像男人提分手男人说顺其自然是什么意思 上线两年《X-HERO》如何做到登顶多个国家榜首的? 龙武游戏怎么样费钱吗 Q1游戏公司产品 中国现有什么银行 x.最近六个月的通话记录? 爱奇艺会员哪里买便宜 爱奇艺会员免费领取 iphone4 怎样删除原来的旧凯立德地图 派出所会不会监听电话和微信 栈和队列 与 数组的关系 如果手机被警务人员采集了信息,会有影响吗微信和通话会给监听吗? "栈"和"栈帧"这两个概念到底如何区分 栈和队列有什么不同? 栈和队列的概念分别是什么? 程序中栈和堆都是什么意思,有什么区别? 栈和队列的主要区别是什么? 淘手游没有实名认证可以购买商品吗 请帮我造句(各造2个):烁石流金,秋高气爽,万里无云,风雪交加,滴水成冰,岁月如流,尺璧寸阴。 如果我把我的QQ好友删除了,他会出现在陌生人里面吗,是不是他给我发信息的时候才会出现。。。。 和异性好友发生过关系,只有一个选择,才能皆大欢喜 ,是什么呢? 我给微信好友正常聊天…对方就显示根据联网环境判断,对方目前与你不在同一省份,与其发生资金往来可能存_百度问一问 刺激战场在好友离线的情况下发消息给好友 他上线了能收到吗 在发生关系的时候如何让对方满足? 在微信里我已经加了他,为什么他那里写着开启了好友验证,你还不是他的好友,请先发送好友验证请求,对方 给好友发生了情侣空间邀请, 好友要在哪里接收邀请? 我想和好友发生关系(都是男同志) 与异性好友发生了关系,怎么办? 面对好友发来的“在吗”,十二星座会如何回复? 当事人的手机公安局能监听多长时间,微信也会被监听吗 怎样把MP3格式的文件转换成WAV的文件 微信在新设备登录,需要安全验证但二维码好友都验证不了,申述也申述不了该怎么?_百度问一问 微信新设备验证不了怎么办? 微信更换设备只知道下面和密码。需要安全验证,验证不了怎么办? 微信显示我的已经在另一个设备发起了登陆安全验证,现在怎么都登不上去了怎么办?修改密码也没用。 无法安全验证怎么办? 那个名字好:我女儿2015年2月14日18点出生,西安人,张淇舟、张潇然、张一禾,张婼汐,那个最好? 高分---张姓男孩起名 农行贷款装修怎么申请办理? 2000年正月十七出生的女孩姓张取名叫啥好 农行装修分期是大坑 淘手游平台卖账号。平台收多少佣金 上海的豫园为什么要叫“豫园”,有什么来历吗? 中国现代诗人有哪些 请问谁有唐、宋、元、明、清的诗人名字各要5个,,,现代诗人名字也要5个 c432南京哪个站? 吃C432列车经过哪些站 C432在股市中是什么意思? 北通方向盘IIbtp-c432能玩什么游戏