两次免费调用指针

在课堂free()告诉我,两次调用指针确实非常糟糕。我知道这是一个好习惯,NULL在释放指针立即将指针设置为

但是,我至今仍未听到任何关于其原因的解释。据我了解,这种方式malloc()可行,从技术上讲,它应该跟踪已分配并给您使用的指针。那么,为什么不知道通过它接收的指针是否free()已经释放呢?

我想了解一下,当您呼叫free()以前已经释放的位置时,内部会发生什么

肠杆菌

使用时,malloc您会告诉PC您要为堆保留一些内存位置。计算机返回一个指针,指向已寻址空间的第一个字节。

使用free时,实际上是在告诉计算机您不再需要该空间,因此它将该空间标记为可用于其他数据。

指针仍然指向该内存地址。此时,另一个malloc调用可以返回堆中的相同空间当您free再次调用时,您不是在释放以前的数据,而是释放新的数据,这可能对您的程序不利;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

函数从main()返回两次被调用的指针

来自分类Dev

cellForRowAtIndexPath被调用两次

来自分类Dev

ComponentwillMount被调用两次

来自分类Dev

HandleFunc被两次调用

来自分类Dev

页面被两次调用

来自分类Dev

NSNotificationCenter调用两次

来自分类Dev

UIKeyboardDidShowNotification被调用两次

来自分类Dev

UILongPressGesture被调用两次

来自分类Dev

方法被调用两次?

来自分类Dev

两次解析使用指针

来自分类Dev

C ++两次删除指针

来自分类Dev

两次解析使用指针

来自分类Dev

Linq避免两次调用函数

来自分类Dev

为什么viewDidLoad被调用两次

来自分类Dev

Spark :: KMeans两次调用takeSample()?

来自分类Dev

订户OnComplete调用了两次

来自分类Dev

防止ajax调用触发两次

来自分类Dev

AngularJS指令调用两次失败

来自分类Dev

为什么ngOnInit被调用两次?

来自分类Dev

AngularJS指令调用两次失败

来自分类Dev

NSOutlineTableView中的textShouldEndEditing被调用两次

来自分类Dev

Android oncreateview被调用两次

来自分类Dev

HKObserverQuery连续随机两次调用

来自分类Dev

onOptionsItemSelected()在Fragment上被调用两次

来自分类Dev

防止两次调用on('click')

来自分类Dev

Spring HandlerInterceptor调用了两次

来自分类Dev

指令点击两次被调用

来自分类Dev

Angular Service方法被调用两次?

来自分类Dev

SeekBar的onProgressChanged()被调用两次