99问答网
所有问题
c语言中,动态链表可不可以用二进制格式保存到文件中?
如题所述
举报该问题
其他回答
第1个回答 2020-03-03
可以使用二进制格式存储。
需要注意的是,链表的指针域,可以不存入二进制文件,或者说,存进去也没有用处。
指针域的值,是指向其它单元的地址值,而地址值是动态分配的,从文件中读出时,该段内存很可能已经失效,所以再直接使用存储值就会出问题。
正确的做法是:
1
将链表按节点存放到二进制文件中,是否存储指针域均可。
2
读取时,每次读取一个节点的数据,指针域置空;
3
将每个节点的数据,按照存储的顺序(从头到尾,或从尾到头),重新分配节点资源,并形成有效链表。
相似回答
大家正在搜