鱼C论坛

 找回密码
 立即注册
查看: 4703|回复: 7

课时24关于销毁一个栈的代码为什么先释放了栈底?

[复制链接]
发表于 2018-2-10 18:18:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
栈不是一个后进先出的线性结构吗,小甲鱼老师在24课时的代码中销毁一个栈时for循环执行的是free(s->base),是否有问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-10 18:20:07 | 显示全部楼层
上代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-10 18:22:35 | 显示全部楼层
代码在此
微信图片_20180210182214.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-10 18:29:17 | 显示全部楼层

你好看到了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-10 19:16:07 | 显示全部楼层

从top 开始 和从base 开始都可以。
好比你要删除桌面上的文件,从第1个开删,和从最后1个开始删一个意思。哪个方便用哪个。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-10 22:48:03 | 显示全部楼层
ba21 发表于 2018-2-10 19:16
从top 开始 和从base 开始都可以。
好比你要删除桌面上的文件,从第1个开删,和从最后1个开始删一个意思 ...

但是问老师老师坚持说无论如何都不可能在栈底进行操作,栈是限制在一段进行操作的线性结构,并说如果base在这指的是栈底指针的话程序就是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-11 22:37:17 | 显示全部楼层
selantor 发表于 2018-2-10 22:48
但是问老师老师坚持说无论如何都不可能在栈底进行操作,栈是限制在一段进行操作的线性结构,并说如果base ...

我也不知道他有没有说过。这只是编程模拟  栈 的操作。是一个线性表,你要怎么操作就怎么操作。
最后 再说了 都要 销毁栈 了还管他从上还是从下。销毁什么都没了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-14 20:22:45 | 显示全部楼层
请问这个问题从栈顶开始操作会不会更严谨一点?
从栈顶操作是将i改为栈顶下标然后循环改为i--然后free(s->top);s->top--;
这样改可以吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 20:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表