什么是堆栈?
2个回答
展开全部
堆是堆(heap),栈是栈(stack),虽然堆栈(heap and stack)有相似之处,但不要混为一谈。
本质上讲,堆(heap)是一种数据结构,是纯软件的实现。堆基于一定的程序基础(例如在操作系统),它更加偏向于软件实现动态的内存管理,令程序运行时根据所需来动态申请/释放内存。
而栈(stack)既存在软件实现又存在硬件实现。栈本质上是一种简单的先进先出结构,主要目的是为程序运行时保存关键的现场数据,尤其适合于(嵌套式)中断的配合。几乎所有的微控制器/微处理器都具备硬件栈。而软件/操作系统中又可以进一步建立软件栈,为线程建立专用的存储区域。
本质上讲,堆(heap)是一种数据结构,是纯软件的实现。堆基于一定的程序基础(例如在操作系统),它更加偏向于软件实现动态的内存管理,令程序运行时根据所需来动态申请/释放内存。
而栈(stack)既存在软件实现又存在硬件实现。栈本质上是一种简单的先进先出结构,主要目的是为程序运行时保存关键的现场数据,尤其适合于(嵌套式)中断的配合。几乎所有的微控制器/微处理器都具备硬件栈。而软件/操作系统中又可以进一步建立软件栈,为线程建立专用的存储区域。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询