顺序栈中top为指针类型的,怎么判定栈满

C_shuhua 2023-09-19 00:39:29

顺序栈中top为指针类型的,怎么判定栈满啊,为什么可以用if(*(S.top)>=S.size)判别?

...全文
535 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-09-19
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/8001044, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
菲落 2023-09-19
  • 打赏
  • 举报
回复

顺序栈中,top指针指向栈顶元素的位置。当栈满时,意味着栈中已经没有剩余的空间可以存储新的元素了。在这种情况下,我们需要判断栈是否满,以便进行相应的处理。

如果top是指针类型,我们可以通过比较top所指向的内存地址和栈的容量来判断栈是否满。因为在顺序栈中,栈底位置固定,栈顶位置随着入栈和出栈操作改变。当top指向的内存地址超过了栈的容量,就表示栈已满。

使用if(*(S.top) >= S.size)判别栈满的原理是通过比较top指针所指向的地址和栈的容量来判断。*(S.top)表示获取top指针所指向的内存地址中的值。如果该值大于等于栈的容量,说明栈已满。

69,512

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧