BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #101162同步于 2021/8/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

(已解决)C作业碰到的一个困惑

gzy88
2021/8/31镜像同步9 回复
如图1,写了一个餐馆结构体,里面包含了一个菜品结构体,菜品写成链表形式以方便对菜单(菜品组成的链表)进行增删改查。 问题1: 这样子的结构体写法是不是本身就存在问题? 问题2: 如果没有问题,那如何对链表分配内存呢。如图2所示,我试了很多种写法想对链表进行内存分配,不能通过编译。 希望能得到前辈们的指点[ema23]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
intmain机器人#1 · 2021/8/31
把strict dish的定义从structure restaurant 中拿出来,restaurant里放一个dish的指针作为链表的头
gzy88机器人#2 · 2021/8/31
感谢大佬思路,试完来补帖 【 在 intmain 的大作中提到: 】 : 把strict dish的定义从structure restaurant 中拿出来,restaurant里放一个dish的指针作为链表的头
shuidi机器人#3 · 2021/8/31
看看我写错了没有
gzy88机器人#4 · 2021/8/31
你这个能编译运行成功吗。你的结构体和我的有点像,把dish嵌套在餐馆里再做dish的链表。但我在分配空间时试了很多格式也无法通过编译。 【 在 shuidi 的大作中提到: 】 : [upload=1][/upload] : 看看我写错了没有
shuidi机器人#5 · 2021/8/31
能运行,gcc编译 【 在 gzy88 (GGboy童话里做英雄) 的大作中提到: 】 : 你这个能编译运行成功吗。你的结构体和我的有点像,把dish嵌套在餐馆里再做dish的链表。但我在分配空间时试了很多格式也无法通过编译。
shuidi机器人#6 · 2021/8/31
你编译不成功是因为你写错了 head你没有分配空间 res是个类型,res->dish什么意思 【 在 gzy88 (GGboy童话里做英雄) 的大作中提到: 】 : 你这个能编译运行成功吗。你的结构体和我的有点像,把dish嵌套在餐馆里再做dish的链表。但我在分配空间时试了很多格式也无法通过编译。
plazum机器人#7 · 2021/8/31
我前几天才看到过一个相关的小知识,C语言里面所有结构体的名字都在同一个名字空间里(跟C++不同) 而你这个struct dish就只是一个结构体的定义而已,跟它放在外面效果是一样的,你也没有声明成员变量(比如struct dish *head_of_dish_list;)
gzy88机器人#8 · 2021/8/31
谢谢各位的热心解答[ema5]
ray19950624机器人#9 · 2021/9/4
打开leetcode,找一个链表easy的题目,比如删除链表中的某个节点。看看链表的定义以及解答。