鱼C论坛

 找回密码
 立即注册
查看: 5520|回复: 2

[已解决]在定义栈的结构时的问题

[复制链接]
发表于 2021-5-31 16:13:38 | 显示全部楼层 |阅读模式
3鱼币
本帖最后由 202021130162 于 2021-5-31 16:15 编辑

InkedQQ截图20210531160203_LI.jpg InkedQQ截图20210531160227_LI.jpg
如图,顺序栈在定义数据element时,为什么要定义成指针ElementType* element,而不能直接ElementType element?

而相反的,在链式栈中,数据结点定义data时,则是ElementType data,而不是ElementType* data?(如下图)
QQ截图20210531160915.png

希望大家可以解答疑惑,非常感谢!
最佳答案
2021-5-31 16:13:39
对于顺序栈中的创造顺序栈 你用s1.element = new......;   这里用new在堆区存数据,而new的返回类型是指针类型  所以你就要定义的时候是指针
下面不是指针  就表示后面没用new在堆上开数据白(你没贴出来,我猜大概是这样的)

最佳答案

查看完整内容

对于顺序栈中的创造顺序栈 你用s1.element = new......; 这里用new在堆区存数据,而new的返回类型是指针类型 所以你就要定义的时候是指针 下面不是指针 就表示后面没用new在堆上开数据白(你没贴出来,我猜大概是这样的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-31 16:13:39 | 显示全部楼层    本楼为最佳答案   
对于顺序栈中的创造顺序栈 你用s1.element = new......;   这里用new在堆区存数据,而new的返回类型是指针类型  所以你就要定义的时候是指针
下面不是指针  就表示后面没用new在堆上开数据白(你没贴出来,我猜大概是这样的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-1 19:34:06 | 显示全部楼层
lei1996 发表于 2021-5-31 23:01
对于顺序栈中的创造顺序栈 你用s1.element = new......;   这里用new在堆区存数据,而new的返回类型是指针 ...

啊对,后面是StackNode* p = new StackNode;针对的是StackNode而不是里面的data,所以data不需要用指针,知道了,非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 08:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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