堆栈是什么意思?

作者&投稿:徐阅 (若有异议请与网页底部的电邮联系)
问题一:什么叫做堆栈? 堆和栈是两个不同的概念。 堆(heap)上分配的内存,系统不释放,而且是动态分配的。栈(stack)上分配的内存系统会自动释放,它是静态分配的。运行时栈叫堆栈。栈的分配是从内存的高地址向低地址分配的,而堆则相反。由malloc或new分配的内存都是从heap上分配的内存,从heap上分配的内存必须有程序员自己释放,用free来释放,否则这块内存会一直被占用而得不到释放,就出现了“内存泄露(Memory Leak)”。这样会造成系统的可分配内存的越来越少,导致系统崩溃。 堆栈是一种执行“后进先出”算法的数据结构。 设想有一个直径不大、一端开口一端封闭的竹筒。有若干个写有编号的小球,小球的直径比竹筒的直径略小。现在把不同编号的小球放到竹筒里面,可以发现一种规律:先放进去的小球只能后拿出来,反之,后放进去的小球能够先拿出来。所以“先进后出”就是这种结构的特点。 堆栈就是这样一种数据结构。它是在内存中开辟一个存储区域,数据一个一个顺序地存入(也就是“压入――push”)这个区域之中。有一个地址指针总指向最后一个压入堆栈的数据所在的数据单元,存放这个地址指针的寄存器就叫做堆栈指示器。开始放入数据的单元叫做“栈底”。数据一个一个地存入,这个过程叫做“压栈”。在压栈的过程中,每有一个数据压入堆栈,就放在和前一个单元相连的后面一个单元中,堆栈指示器中的地址自动加1。读取这些数据时,按照堆栈指示器中的地址读取数据,堆栈指示器中的地址数自动减 1。这个过程叫做“弹出pop”。如此就实现了后进先出的原则。 而堆栈寄存器就是存放堆栈的寄存器。

问题二:什么叫堆栈 堆栈是内存区开辟出来为函数中定义的变量(除了new以外的定义)提供存储空间的区域。
顾名思义,数据在堆栈中 的存储就是一个一个堆上去的,就是说后放的变量存在最上面(栈顶),所以从堆栈中取出变量时它最先被取出,(后进先出)。

问题三:堆栈的意思和作用 堆栈就是一个特殊内存区域,
用来存放数据
可以用指令PUSH ,POP 操作
主要是用来存放临时数据,比如局部变量,某个函数过程中定义的变量
堆栈是先进后出方式
比如说有个过程求和
int fun(int a,int b)
{
return a+b;
}
void main()
{
int z;
z=fun(5,6)
printf(%d,z)
}
调用fun过程时操作系统会使用堆栈来传递参数,
首先PUSH 5
PUSH 6
CALL FUN
又或者在调用过程前将各个寄存器先保存起来因为数量有限在本过程中可能用到同样的寄存器被覆盖原来的值
main
mov ax,6
mov bx,7
call proc
...
proc1 proc
push ax ;先入
push bx
子过程程序中用到AX,BX
pop bx
pop ax ;后出
ret
proc1 endp

问题四:什么是堆栈及堆栈的作用是什么 堆栈是小说中常用的人物塑造方法,通常是为一个小人物所用。举个例子,某剑客非常之吊,被称为天下无敌。可是,一个小人物在与他正面的斗争中,不用任何手段就击败了他,表现出他惊人的实力。这就是对这个小人物的堆栈,为的就是把他通过别人巨大实力的转换成这个人物的威望。这就是堆栈

问题五:堆栈向下增长是什么意思? 堆和栈是两个概念,堆向上增长,栈向下增长。
向下增长的意思是:从栈申请的内存地址会越来越小,
而从堆申请的内存地址会越来越大。

问题六:谁给详细解释一下plc的堆栈是什么意思,是在理解不了 PLC中CPU进行运算过程中,在需要进堆栈的时候才进堆栈。
比如:
1、不需要进堆栈的
LD X0
AND X1
OUT Y0.
这样的不需要进堆栈,因为每次运算的结果都存在CPU累加器A里面。(书上讲的)
2、需要进堆栈的,这段指令在执行过程中,就有数据进堆栈。(分号后加注释)
LD X0 ;取了X0的状态放进累加器
OR X1;把X1的状态与累加器内状态进行 或 运算。
LD X2;这时候如果直接取X2的状态进累加器,那前面两条指令的就白干了。
所有这条指令有隐 含操作,那就是把前面两条指令运算的结果,进行进堆栈保护,
然后再把X2的状态取进累加器。
OR X3;接着,取X3的状态与累加器或 运算
ANB ;这条执行是,就是将堆栈最上面的状态值(也就是前面进堆栈被保护的)
与当前累加器的状态进行与运算。这也就是书上说的,块 与指令。
OUT Y0;输出。
从上面分析我总结了,只要是出现LD,必须要有输出。没输出,再有LD,那必定有进堆栈操作。
这个进堆栈是PLC系统自己完成。只要你编程正确,也没必要理会他。

问题七:堆栈和栈有什么区别? 堆和栈是两个不同的概念,堆是动态内存,malloc,new等操阀在堆里面分配空间;栈里面放函数调用参数,局部变量。
对专业人士而言,一般习惯把堆和栈分开来讲。有些地方也把栈笼统地叫做堆栈,也就是说你这里说的堆栈就是指栈。你只要搞清楚堆和栈的区别就可以了。

问题八:堆栈是什么意思?如果堆栈的入栈系列是a,b,c,d,e,则输出序列是什么?并解释一下! 堆栈是一种“后进先出”的数据结构。出栈序列“e,d,c,b,a。后进入的先出来。

问题九:栈是什么意思? 栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。 栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO--Last IN First Out表龚。 栈可以用来在函数调用的时候存储断点,做递归时要用到栈!
上面已经说得很清楚了
虽然是复制的

~

栈什么意思
答:栈[zhàn]基本解释:1.储存货物或供旅客住宿的房屋:货~。客~。~房。2.竹木编成的遮蔽物或其他东西:马~(养马的竹木棚)。~车(古代用竹木编成棚的车子)。3.用木料或其他材料架设的通道:~道。~桥(一种形似桥梁的建筑物,用于装卸货物、上下旅客等)。4.通过,越过:~山航海。满意请...

栈是什么意思
答:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把...

栈是什么意思?
答:栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(...

栈的组词大全(约50个) 栈的词语解释_栈是什么意思?
答:栈的拼音 栈的解释 栈是什么意思 1、栈字的拼音是zhàn ; 2、 栈字的解释:(1)(名)养牲畜的竹木棚或栅栏。(2)(名)栈道。(3)(名)栈房。 精选部分栈组词的词语造句及词语的拼音和详细解释: 1、堆栈造句:您可能会奇怪为什么在开始参数大小计算时要检查方法是否是静态的,如果是...

汉字“栈”是什么意思栈字笔画是多少
答:栈zhàn储存货物或供旅客住宿的房屋:货栈。客栈。栈房竹木编成的遮蔽物或其他东西:马栈。栈车用木料或其他材料架设的通道:栈道。栈桥通过,越过:栈山航海笔画数:9;部首:木;笔顺编号:123411534笔画顺序:横竖撇捺横横折撇捺详解栈_zhàn【名】声。本义:牲口棚)同本义〖shed〗栈,棚也。《说文》...

栈字的意思 栈是什么意思
答:栈字的意思:● 栈 (栈)zhàn  ㄓㄢˋ◎ 储存货物或供旅客住宿的房屋:货栈。客栈。栈房。◎ 竹木编成的遮蔽物或其他东西:马栈(养马的竹木棚)。栈车(古代用竹木编成棚的车子)。◎ 用木料或其他材料架设的通道:栈道。栈桥(一种形似桥梁的建筑物,用于装卸货物、上下旅客等)。◎ ...

栈的定义
答:向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。要搞清楚这个概念,首先要明白”栈“原来的意思,如此才能把握本质。栈,存储货物或供旅客住宿的地方...

栈是什么意思
答:栈是一种用于存储和管理数据的数据结构。它是一种线性结构,具有后进先出(LIFO)的特点,即最后进入栈的元素最先被取出。栈可以用数组或链表实现,通常包括两个基本操作:push(入栈)和pop(出栈)。栈在计算机科学中有广泛的应用,例如在表达式求值、函数调用、递归算法、括号匹配、浏览器前进后退、...

栈是什么意思啊?
答:栈(Stack)是一种遵循后进先出(LIFO,Last In First Out)原则的线性表。它只能从一端(称为“栈顶”)进行插入和删除操作。栈的顺序取决于其元素的插入顺序。以下是一个简单的Java代码示例,演示了如何使用Java的内置Stack类来创建一个栈,并执行出栈(pop)操作:在这个示例中,我们首先创建了一个...

栈怎么读音是什么意思?
答:(1)栈怎么读音是什么意思?栈(zhan)是一种数据结构,用于存储数据。栈使用 LIFO(Last-In-First-Out)的原则,表示最后一个元素进入堆栈,第一个元素最后退出。在程序设计中,栈被广泛用于内存管理、递归递归和表达式求值等方面。栈具有两个特点:一是访问速度快,通过栈指针可以直接获得栈顶元素,不...