这是什么意思:(void *)0x00

时间:2009-12-16 16:16:12

标签: c

知道这意味着什么吗?不确定语言。

(void *)0x00

6 个答案:

答案 0 :(得分:8)

在C中,它表示一个NULL指针,即指向没有相关数据的指针。

尝试访问此数据会引发分段错误,至少在Unix / Linux上是这样。

答案 1 :(得分:3)

#ifndef NULL
#   define NULL ((void *) 0)
#endif

然后你可以在不同的函数中使用NULL!

答案 2 :(得分:1)

看起来像C,它表示指向内存位置0的指针。(“void *”表示指向原始内存的指针,并且是编译器/程序员注意该类型未知或未指定的注释)

澄清:它是一个包含值0的指针,在大多数平台上都是一个称为NULL的特殊值,表示无效/未初始化的指针,并且取消引用它会导致异常。在某些平台上(例如某些微控制器),内存位置0是有效的指针值。

答案 3 :(得分:1)

这是一个C / C ++空指针AFAIR:)

答案 4 :(得分:1)

演员表示C或C ++。这是对指针类型的整数零转换,这意味着它是空指针。这是在C中定义空指针的标准方法(除了(void *)0更常用),但在C ++中它是特定类型的空指针值。

答案 5 :(得分:0)

奇怪的C表示法。如果我不得不猜测我会说这个人试图将二进制0强制转换为某个平台上的指针,其中NULL不是二进制0。