365bet体育备用网站
当前位置:主页 > 365bet体育备用网站 >
什么是软件堆栈?
  展开全部
堆栈是执行“后进先出”算法的数据结构。
想象一下直径小,开口端的竹管。
有几个小球被编号,球直径略小于竹筒的直径。
通过在竹筒中放置不同数量的球,您可以找到规则:放置的第一个小球只能在以后移除,并且可以先移除稍后可以放置的小球。
因此,“先进和缓慢”是这种结构的特征。
堆栈就是这样的数据结构。
在内存中打开存储区域时,将一次保存一个数据(“推 - 推”)。
有一个地址指针始终指向堆栈中输入的最后一个数据所在的数据单元。包含地址指针的记录称为堆栈指示符。
开始输入数据的单位称为堆栈的底部。
数据一次存储一个,此过程称为“堆栈”。
在插入过程中,每次将数据输入堆栈时,数据都会放在连接到前一个单元的下一个单元中,堆栈指示器地址会自动递增1。
读取该数据时,将在电池指示器地址读取数据,并且电池指示器地址的数量自动减少1。
此过程称为“pop-pop”。
这实现了后进先出原则。
堆栈是计算机上最常用的数据结构之一。例如,函数调用在计算机堆栈中实现。
您可以将堆栈保存在稍后显示的矩阵或链接列表中。
以下是堆栈结构的定义。这包括顶部堆栈指针和数据元素数组。
堆栈顶部指针最初指向-1,并且当存储数据时,堆栈顶部指针递增1。获取数据后,堆栈顶部指针递减1。
#infineMAX_SIZE100typedefintDATA_TYPE; structstack{DATA_TYPEdata[MAX_SIZE]; inttop;};在C ++中,内存分为五个区域:堆,堆栈,空闲存储,全局/静态存储和常量存储。
电池是变量的存储区域,编译器根据需要分配这些变量,并在不需要时自动删除。
内部变量通常是局部变量,函数参数等。
堆是由new分配的内存块,并不关心它的调用编译器。由应用程序控制。新的通常对应于删除。
如果程序员没有释放,操作系统将在程序结束时自动恢复。
免费存储是由malloc或类似程序分配的内存块,非常类似于堆,但使用可用空间来终止其生命周期。
全局/静态存储区域,全局变量和静态变量分配给同一个内存块。在以前的C语言中,全局变量分为初始化和未初始化的变量。C ++没有这样的区别,并且共享相同的A存储区域。
永久存储区。这是一个特殊的存储区域。它们存储常量,不能更改。当然,有很多方法可以通过不恰当的方式改变它们。