c语言中什么是堆栈,堆栈的具体应用,求高手帮我解释下,最好能详细点,谢谢

 我来答
百度网友7f462b0
2011-12-16 · TA获得超过1034个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:222万
展开全部
也就是一个井喽,然后丢石头进去,要的话就从最上面的拿上来。如
abc要进栈,则: 元素 栈中的元素
1.a进栈。 cb a
2.可以a出栈也可以b进栈。 c ba
3.可以b出栈也可以c进栈。 无 cba
如果按照示例的话,3次后abc都进入栈了,则从上往下的排序分别是c b a,此时只可以取出c,不可以取出其他的,也就是说,栈就是:
可以往里面丢东西,填平了或者无聊的时候就取出最上面的东西。
你可以理解成人的肝脏。如果糖分多的话,多余的就存在肝脏里,如果少了,就从肝脏里面取。但是你不把靠近血液的糖取出来,你是没有办法取更里面的糖分的......

它的应用吧,应该是可以用来加密。如可执行文件的出栈、入栈。不过一般我们电脑里面的计算就用到了栈,只不过没有察觉到。
原创!
忘至白葬不情必0T
2011-12-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
堆和栈是两种不同的数据结构。
栈是一种后进先出的数据结构,即先进栈的数据反而要后出来,后进栈的数据反而可以先出来。
堆是一种优先队列,它满足一定的性质(即堆的性质)。

而在操作系统内存方面的堆和栈,也是不同的。内存栈是用来存放局部动态变量的。而内存堆是由程序员自己分配释放的内存空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小只木a
2011-12-16 · TA获得超过190个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:79.6万
展开全部
额...按我理解的... 一般来说在32位操作系统,可供程序员使用虚拟内存总共大概8个G
堆一般是程序员分配释放,如果不释放,程序运行完自动释放.. 用malloc申请的内存在堆中
栈..编译器自定分配,函数应该就是在栈执行,函数里的变量和局部变量也应该是在栈中
我感觉栈也就2多G大吧...常量应该按地址位置应该在堆下面,
我的理解是 栈内执行效率高,适合执行类似函数那样反复执行的代码...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-16
展开全部
栈是一种特殊的线性表,即里面的元素是一对一的关系。栈只能在线性表的一端进行插入和删除元素,这端称之为栈顶,另外一端为栈底。所以栈具有先进后出的特点。
至于栈的应用比较广泛,计算表达式,实现递归函数,判断括号匹配等应用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式