c语言中,动态链表可不可以用二进制格式保存到文件中?

 我来答
风若远去何人留
2016-01-12 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部
可以使用二进制格式存储。

需要注意的是,链表的指针域,可以不存入二进制文件,或者说,存进去也没有用处。
指针域的值,是指向其它单元的地址值,而地址值是动态分配的,从文件中读出时,该段内存很可能已经失效,所以再直接使用存储值就会出问题。
正确的做法是:
1 将链表按节点存放到二进制文件中,是否存储指针域均可。
2 读取时,每次读取一个节点的数据,指针域置空;
3 将每个节点的数据,按照存储的顺序(从头到尾,或从尾到头),重新分配节点资源,并形成有效链表。
匿名用户
2015-12-21
展开全部
动态链表 恐怕不行吧。。

假设你要生成一个链表 一个个元素往表里面装
然后你要删掉中间一个元素 链表结构你中间删除第i元素 只要让第i-1个元素指到第i+1个元素就行 但文件里 就没有那么简单了
之前保存了 然后中间删掉一段 你得把后面那一片都移动上来 并不是把中间那一片存贮区域赋空就可以 得把文件打开,一系列操作以后再存贮

动态链表的存储罗辑和存一个文件不太兼容吧
数组倒是和兼容

个人见解 仅供参考
追问
噢噢   。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式