永发信息网

跪求堆(heap)和堆栈(stack)有什么区别

答案:1  悬赏:10  手机版
解决时间 2021-08-14 06:06
我查字典heap和stack都是堆叠的意思,其有什么区别
最佳答案
什么是堆栈在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。要点:堆:顺序随意栈:先进后出堆和栈的区别队列:先进先出,后进后出. 堆栈:先进后出,后进先出.一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放。4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 。5、程序代码区—存放函数体的二进制代码。 二、例子程序 这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() 分配得来得10和20字节的区域就在堆区。 strcpy(p1, "123456"); 123456\0放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁知道初三第二学期统计主要学什么
陕州区三门峡中国农业银行24小时自助银行(峡
关于离乡打工的诗句,形容离乡的诗句
90后喜欢什么样的人
谁知道武汉机场最近的一个汽车站是哪里啊
海南离广东多远,广东省到海南省多少公里
为什么天使之翼有的是红色的有的是蓝色的
测量放大镜的放大率
多彩的扇子教案,幼儿园中班年龄组《漂亮的扇
西安区牡丹江蓝天食品超市(立新街店)在哪里啊
朋友幸福就是我最大的幸福,朋友你好么?
手机QQ应用下载地址?
1200元左右的手机
动物的诗句大全,描写动物的诗歌有哪些
成都市莲花新区附近哪有比较高好一点的糖果店
推荐资讯
为什么我的动感画集删不了图改不了评语?
国家预算收入的种类有哪些?
没有女人味的老虎女人遇到了该怎么办好???
解析给的不全.想要(1)圈2、(3)ABC的解释
求专家解决,我们相爱了,但我们是亲戚。
月经一搬推迟十天!十五号来的十八号结束五号
突破性缺口是什么意思,为什么股票要回补缺口
宜章县郴州灰太狼烤肉拌饭在哪里啊,我有事要
CDR的卷页效果能不能卷边,好象只能卷4个角,
想问一下诺基亚5320 和5230哪个好一点 我想买
为什么习惯了上口扣隐身?
日全食是什么 首先我觉得很奇怪 月亮是反射的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?