我已经和我的朋友讨论了数据结构堆栈和硬件堆栈(调用堆栈)之间的区别。我认为它们是完全一样的,因为它们都具有“推”和“弹出”功能,它们只能处理最新元素。但是我的朋友说,它们根本不一样,但是它们只具有相同的名称“堆栈”。他认为是因为在调用堆栈中,我们可以访问不是最新地址的地址,这与堆栈(数据结构)的定义相矛盾。你能给出答案吗?
答案 0 :(得分:0)
第一个是数据结构,第二个是应用的数据结构。
就像现实世界中大多数数据结构的应用一样,它也不是纯净的,并且具有为方便或快速而添加的功能。
答案 1 :(得分:0)
有一些区别:
基本上,两个堆栈都具有 push 和 pop 操作,因此可以像一个堆栈一样工作。
可能具有纯硬件或非纯硬件或软件堆栈。通常,硬件堆栈将能够从顶部开始在相对位置访问项目以获取参数。在软件堆栈上,通常,保护实际上是私有访问。
在某些嵌入式设备上,堆栈可能仅用于返回地址,而参数可能需要基于软件的堆栈。在某些设备上,最大级别可能会很低。