社区
C语言
帖子详情
堆栈
alei520
2003-10-17 07:54:23
堆与栈有什么分别
是不是它们是不同的问题
...全文
51
4
打赏
收藏
堆栈
堆与栈有什么分别 是不是它们是不同的问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
playboyxp
2003-10-19
打赏
举报
回复
堆和栈是不同得
主函数和一些函数是在栈里运行得
堆是动态内存,可以通过程序动态分配
alei520
2003-10-18
打赏
举报
回复
谢谢大哥
我只是个新手昨天刚上这个网站
Andy84920
2003-10-17
打赏
举报
回复
好啊.
堆栈只是内存分配形式的不一样吗?
daizh
2003-10-17
打赏
举报
回复
在编程中,例如C/C++中,所有的方法调用都是通过栈来进行的,所有的局部变量,形式参数都是从栈中分配内存空间的。实际上也不是什么分配,只是从栈顶向上用就行,就好像工厂中的传送带(conveyor belt)一样,Stack Pointer会自动指引你到放东西的位置,你所要做的只是把东西放下来就行.退出函数的时候,修改栈指针就可以把栈中的内容销毁.这样的模式速度最快,当然要用来运行程序了.需要注意的是,在分配的时候,比如为一个即将要调用的程序模块分配数据区时,应事先知道这个数据区的大小,也就说是虽然分配是在程序运行时进行的,但是分配的大小多少是确定的,不变的,而这个"大小多少"是在编译时确定的,不是在运行时.
堆是应用程序在运行的时候请求操作系统分配给自己内存,由于从操作系统管理的内存分配,所以在分配和销毁时都要占用时间,因此用堆的效率非常低.但是堆的优点在于,编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间,因此,用堆保存数据时会得到更大的灵活性。事实上,面向对象的多态性,堆内存分配是必不可少的,因为多态变量所需的存储空间只有在运行时创建了对象之后才能确定.在C++中,要求创建一个对象时,只需用new命令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存.当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间!
Android下打印调试
堆栈
方法
打印
堆栈
是调试的常用方法,一般出现异常时,我们可以在跑出异常时也将
堆栈
情况打印出来,这样十分方便错误查找。另外实际上也有一个非常有用的功能:分析代码的行为。android代码太过庞大了,完全的静态分析经常是无从下手,因此通过打印
堆栈
的动态分析也十分必要。 Android打印
堆栈
的方法: 1. zygote的
堆栈
dump 实际上这个可以同时dump java线程及native线程的
堆栈
51单片机
堆栈
与
堆栈
指针
堆栈
是一种执行“先入后出”算法的数据结构。是在内存中的一个存储区域,数据一个一个顺序地存入(也就是“压入—PUSH”)这个区域之中。 有一个地址指针(
堆栈
指针)总指向最后一个压入
堆栈
的数据所在的存储单元,存放这个地址指针的寄存器就叫做
堆栈
指示器。 开始放入数据的单元叫做“栈底”。数据一个一个地存入,这个过程叫做“压栈”。读取这些数据时,按照
堆栈
指示器中...
堆栈
在计算机中的应用,
堆栈
[duī zhàn]
堆栈
语音编辑锁定讨论上传视频在计算机领域,
堆栈
是一个不容忽视的概念,
堆栈
是一种数据结构。
堆栈
都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,
堆栈
是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。中文名
堆栈
外文名Stack学科计算机定义一种数据项按序排列的数据结构特点先进后出应...
Windbg -- 查看调用
堆栈
一. 显示
堆栈
信息 k*命令 [~Thread] k[b|p|P|v] [c] [n] [f] [L] [M] [FrameCount] [~Thread] k[b|p|P|v] [c] [n] [f] [L] [M] = BasePtr [FrameCount] [~Thread] k[b|p|P|v] [c] [n] [f] [L] [M] = BasePtr StackPtr Instr...
STM32
堆栈
空间大小设置
1. 设置
堆栈
空间大小 在使用STM32编程时,一般情况下我们不会关注
堆栈
空间的大小,因为在STM32的启动文件中,已经帮我们预先设置好了
堆栈
空间的大小。如下图所示的启动代码中,Stack栈的大小为:0x400(1024Byte),Heap堆的大小为:0x200(512Byte)。 这也是为什么一个基础的工程编译后,RAM的空间也占用了1.6K左右的原因,因为
堆栈
的空间均分配在RAM中,可...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章