关于空指针,野指针和void*指针的联系与区别

avatar
作者
筋斗云
阅读量:0

空指针和野指针是两种不同的概念。

  • 空指针(Null Pointer)指的是没有指向任何有效内存地址的指针,通常被赋值为0或者nullptr。在访问空指针所指向的内存时,会导致程序崩溃或出现未定义的行为。

  • 野指针(Wild Pointer)指的是指向一块未知或者无效内存地址的指针。通常情况下,野指针是未初始化的指针或者指向已经释放的内存地址。当使用野指针时,同样会导致程序崩溃或者出现未定义的行为。

  • ======================================================================

void* 是一种特殊的指针类型,通常称为“无类型指针”或者“通用指针”。

void* 类型的指针可以指向任何类型的数据,因为它是一种无类型指针。在使用 void* 指针时,需要进行显式的类型转换,以便让编译器知道指针指向的具体类型。

虽然 void* 指针通常用来表示无类型指针,但它在语义上并不等同于空指针。空指针通常指的是指针变量具体指向的地址为空,而 void* 指针则是指向某个未知类型的内存地址。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!