我在讲座中被教过,free()两次拨打指针真是非常糟糕.我知道NULL在释放它之后立即设置指针是一种很好的做法.
free()
NULL
但是,我仍然没有听到任何解释为什么会这样.根据我的理解,方式malloc()有效,它应该在技术上跟踪它已经分配的指针并让你使用.那么为什么它不知道它接收到的指针是否free()已被释放?
malloc()
当你打电话free()给以前已经被释放的位置时,我很乐意理解,内部会发生什么.
c malloc free pointers dynamic-memory-allocation
c ×1
dynamic-memory-allocation ×1
free ×1
malloc ×1
pointers ×1