阅读量:0
空指针和野指针是两种不同的概念。
空指针(Null Pointer)指的是没有指向任何有效内存地址的指针,通常被赋值为0或者nullptr。在访问空指针所指向的内存时,会导致程序崩溃或出现未定义的行为。
野指针(Wild Pointer)指的是指向一块未知或者无效内存地址的指针。通常情况下,野指针是未初始化的指针或者指向已经释放的内存地址。当使用野指针时,同样会导致程序崩溃或者出现未定义的行为。
======================================================================
void*
是一种特殊的指针类型,通常称为“无类型指针”或者“通用指针”。
void*
类型的指针可以指向任何类型的数据,因为它是一种无类型指针。在使用 void*
指针时,需要进行显式的类型转换,以便让编译器知道指针指向的具体类型。
虽然 void*
指针通常用来表示无类型指针,但它在语义上并不等同于空指针。空指针通常指的是指针变量具体指向的地址为空,而 void*
指针则是指向某个未知类型的内存地址。