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