鱼C论坛

 找回密码
 立即注册
查看: 2368|回复: 6

[已解决]数据结构串操作里的一个小问题

[复制链接]
发表于 2020-3-30 11:33:12 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 saiumr 于 2020-3-30 11:37 编辑

“简单的应用链表存储串值,一个节点对应一个字符,就会存在很大的空间浪费”

这句话出自程杰老师著《大话数据结构》里的,我看到这里时,本能的以为是结构体的内存对齐的关系浪费空间

然后写了个程序:[C语言]


                               
登录/注册后可看大图


如果结构体中有多种类型,那么是有浪费空间的情况,可结构体内单单存 char 类型的成员变量有几个变量就占用几个字节,并没有浪费内存

当然大佬不容置疑,我可能思考的方向或者哪里细节部分就不对,希望有人能够帮忙指点一下,开头程杰老师那句话究竟啥意思啊?
最佳答案
2020-3-30 16:42:21
我的理解是,你定义一个结构体存储字符,他说的是一个节点对应一个字符,那么你结构体里面的成员假设是有一个char,和一个指针。那么一个链表的每个节点都就要占据空间来存储他的指针。这明显是不划算的。你的代码是没有指针的,不是链表,只是结构体而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-30 11:37:59 | 显示全部楼层
我不知道,但我是来抢头贴的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 11:41:56 | 显示全部楼层
冰河星云 发表于 2020-3-30 11:37
我不知道,但我是来抢头贴的

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

使用道具 举报

发表于 2020-3-30 11:56:31 | 显示全部楼层
你这个是linux下的vim还是win下的vim
好看,咋设置的呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 12:09:26 | 显示全部楼层
最后的魁拔 发表于 2020-3-30 11:56
你这个是linux下的vim还是win下的vim
好看,咋设置的呀

linux下的,配置完主题之后vim就这样了,过些日子我再配置vim

主题美化终端我安装了zsh,你如果想弄的话上网搜一搜就行了,网上有很多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 16:42:21 | 显示全部楼层    本楼为最佳答案   
我的理解是,你定义一个结构体存储字符,他说的是一个节点对应一个字符,那么你结构体里面的成员假设是有一个char,和一个指针。那么一个链表的每个节点都就要占据空间来存储他的指针。这明显是不划算的。你的代码是没有指针的,不是链表,只是结构体而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 22:57:10 | 显示全部楼层
Love/小/wei 发表于 2020-3-30 16:42
我的理解是,你定义一个结构体存储字符,他说的是一个节点对应一个字符,那么你结构体里面的成员假设是有一 ...

我想我真是犯蠢了。。。。

犯傻了程杰老师说的是链式存储结构我居然没给指针。。。

谢谢!完美解答,刚刚为每个结构体添加了一个指针成员变量试了一下,每一个都占用16byte,因为有不同数据类型很明显存在内存对齐,再一次感谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 00:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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