0实际上,您可以在任何需要使用 的地方使用文字NULL。
C 标准第 6.3.2.3p3 节规定:
值为 0 的整型常量表达式或此类转换为类型的表达式
void *称为空指针常量。如果将空指针常量转换为指针类型,则生成的指针(称为空指针)保证与任何对象或函数的指针比较不相等。
第 7.19p3 节指出:
宏是:
Run Code Online (Sandbox Code Playgroud)NULL它扩展为实现定义的空指针常量
So0符合空指针常量的要求,与(void *)0和一样NULL。然而,首选使用NULL,因为它使读者更清楚地看到正在使用空指针而不是整数值 0。