不知道为什么要赋null

来源:8-6 案例:单链表的基本实现

weixin_慕设计1048130

2023-02-02

图片描述
上半个里面的函数既然free了node干嘛还要再赋一下null

写回答

1回答

bennyhuo

2023-02-02

因为这个指针在外部还有效,它指向的内存free了,如果不把它置为null的话,外部就无法知道这个指针指向的内存是否存在,就可能出现非法访问。
0
2
bennyhuo
回复
weixin_慕设计1048130
不是,free之后,指针的值指向的还是原来的内存,但这块内存已经不可用了,这时候这个指针也被称为野指针。如果再次访问,就会出现内存错误,置为null的话,后面使用时可以通过比较是否为null来得知内存是否可用。
2023-02-07
共2条回复

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程