悬空指针

悬空的指针是一个指向已经被删除(或释放)的内存位置的指针被称为悬空指针。有三种不同的方式使指针成为悬空指针:

  • 通过取消分配内存
  • 函数调用
  • 当变量超出范围时

虚数指针

虚空指针是一种特定的指针类型—void *—一个指向存储中的某些数据位置的指针,它没有任何特定的类型。Void指的是类型。基本上,它所指向的数据类型可以是任何。如果我们把地址char数据类型分配给一个void指针,它就会变成char指针,如果是int数据类型,那么就是int指针,以此类推。任何指针类型都可以转换为一个void指针。因此,它可以指向任何值。下面是关于void指针的一些重要观点:

  • void指针不能被取消引用。然而,它可以通过对无效指针进行类型转换来实现。
  • 由于缺乏具体的值和大小,在void指针上不可能进行指针运算。
悬空的指针 虚空指针
悬空指针是指在对象从内存中去掉分配时发生的指针,而不修改指针的值。 一个无效指针是一个可以指向任何数据类型的指针。
悬空的指针指向被删除的对象。 一个无效指针可以被分配任何数据类型的地址。
悬空的指针通常发生在对象销毁的时候。 空白的指针的表示方法与字符类型的指针是一样的。
悬空的指针错误只能通过将指针初始化为一个NULL值来避免。 一个void指针可以存储任何类型的对象。
在C语言中,悬空指针将与free()函数 它也被称为通用指针。

悬空指针和虚数指针的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:悬空指针和虚数指针的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-dangling-pointer-and-void-pointer.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。