数据结构串操作里的一个小问题
本帖最后由 saiumr 于 2020-3-30 11:37 编辑“简单的应用链表存储串值,一个节点对应一个字符,就会存在很大的空间浪费”
这句话出自程杰老师著《大话数据结构》里的,我看到这里时,本能的以为是结构体的内存对齐的关系浪费空间
然后写了个程序:
https://i.loli.net/2020/03/30/NKcJ2ZiLmasOC6e.gif
如果结构体中有多种类型,那么是有浪费空间的情况,可结构体内单单存 char 类型的成员变量有几个变量就占用几个字节,并没有浪费内存
当然大佬不容置疑,我可能思考的方向或者哪里细节部分就不对,希望有人能够帮忙指点一下,开头程杰老师那句话究竟啥意思啊?{:10_266:} 我不知道,但我是来抢头贴的{:10_256:} 冰河星云 发表于 2020-3-30 11:37
我不知道,但我是来抢头贴的
{:9_238:}安详 你这个是linux下的vim还是win下的vim
好看,咋设置的呀 最后的魁拔 发表于 2020-3-30 11:56
你这个是linux下的vim还是win下的vim
好看,咋设置的呀
linux下的,配置完主题之后vim就这样了,过些日子我再配置vim
主题美化终端我安装了zsh,你如果想弄的话上网搜一搜就行了,网上有很多 我的理解是,你定义一个结构体存储字符,他说的是一个节点对应一个字符,那么你结构体里面的成员假设是有一个char,和一个指针。那么一个链表的每个节点都就要占据空间来存储他的指针。这明显是不划算的。你的代码是没有指针的,不是链表,只是结构体而已。 Love/小/wei 发表于 2020-3-30 16:42
我的理解是,你定义一个结构体存储字符,他说的是一个节点对应一个字符,那么你结构体里面的成员假设是有一 ...
我想我真是犯蠢了。。。。
犯傻了程杰老师说的是链式存储结构我居然没给指针。。。
谢谢!完美解答,刚刚为每个结构体添加了一个指针成员变量试了一下,每一个都占用16byte,因为有不同数据类型很明显存在内存对齐,再一次感谢!!!{:10_254:}
页:
[1]