什么是软件堆栈?
栏目:英国365bet娱乐 发布时间:2019-07-07 08:56
展开全部
堆栈是实现“后进先出”算法的数据结构。
想象一下,一端开口的小直径竹管。
有几个小球被编号,球的直径略小于竹筒的直径。
您可以通过在竹筒中放入不同数量的球来找到规则。首先放置的小球只能在以后移除,并且可以首先移除可放置的小球。
因此,“渐进慢”是这种结构的一个特征。
堆栈是数据结构。
它打开存储器中的存储区域,并按顺序逐个存储数据(即“推 - 推”)。
有一个地址指针始终指向放置在堆栈上的最后一个数据所在的数据单元。包含地址指针的记录称为堆栈指示符。
启动数据输入的单元称为堆栈的底部。
数据一个接一个地存储,这个过程称为“堆叠”。
在插入过程中,每次将数据插入堆栈时,它们都被放置在连接到前一个单元的下一个单元中,并且堆栈指示器的地址自动递增1。
读取此数据时,数据将读取到堆栈指示器的地址,堆栈指示器上的地址数量将自动减1。
这个过程叫做“pop pop”。
这实现了后进先出原则。
堆栈是计算机上最常用的数据结构之一。例如,函数调用在计算机上的堆栈中实现。
堆栈可以存储在稍后将显示的数组或链表中。
以下是堆栈结构的定义,包括堆栈顶部指针和数据元素数组。
堆栈的顶部指针最初指向-1,并且当存储数据时,堆栈的顶部指针递增1。在检索数据时,堆栈上的顶部指针递减1。
#Define MAX_SIZE100 typedefint DATA_TYPE; struct stack{DATA_TYPE data[MAX_SIZE]; int top;};在C ++中,内存分为五个区域。堆,堆栈,免费存储,全局/静态存储和恒定存储。
电池是变量的存储区域,在需要时由编译器分配,并在不需要时自动删除。
内部变量通常是局部变量,函数参数等。
一个新分配的内存块,很多都不费心,发布你的编译器,我们的应用程序,擦除通常是由一个新的通信控制。
如果程序员没有释放它,操作系统会在程序终止时自动声明。
由malloc函数等分配的内存块的免费存储与山非常相似,但可以自由地用来结束你的生活。
区域全局/静态存储,全局变量和静态变量分配相同的内存块。在以前的C语言中,全局变量分为初始化和未初始化。C ++没有这样的区别。它们共享相同的内存区域。
固定存储区域,即特殊存储区域。它们保持常量,不能修改。当然,您可以以不恰当的方式修复它们,并且有很多方法。