完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
堆栈的满空和生长方向
堆栈两种操作:压栈和弹出压栈即向堆栈中添加元素。根据使用的空间的地址顺序不同,将堆栈的生长方向分为顺向和逆向。先使用低地址就是顺向生长,反之则为逆向生长。 左边是51这种顺序生长,右边是80806/stm32那种逆向生长根据SP指定的相对位置,将堆栈分为满堆栈和空堆栈。空堆栈的SP指向堆栈最顶的元素再下一个位置,也即是空的、堆栈中当前第一个可用的空间。而满堆栈的SP指向堆栈顶部那个元素的位置。 容易理解的是,满堆栈方便出栈操作。因为SP就指向栈顶那个元素的位置,直接将SP指向的那个位置的元素取出即可。而进行压栈操作的时候,就要先调整SP,使之指向下一个空的位置,以便放入新的元素到栈中。 左边两个分别是有一个元素和三个元素的空栈,右边是有五个元素的满栈思考:满堆栈压栈的时候SP如何调整,是增大还是减小? 答案:与堆栈的生长方向有关,顺序生长就增大,逆向生长就减小 |
|
|
|
只有小组成员才能发言,加入小组>>
3314 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9059 浏览 16 评论
4088 浏览 18 评论
1178浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:35 , Processed in 1.262086 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号