为什么有一个NULL
在C语言中?是否有一个上下文,其中只是简单的文字0
会不会工作完全一样?
实际上,你可以使用文字0
任何你会使用的地方NULL
.
第 6.3.2.3p3 节C标准 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf states:
值为 0 的整数常量表达式,或这样的
表达式转换为类型void *
,被称为空指针
持续的。如果将空指针常量转换为指针类型,
结果指针,称为空指针,保证
与指向任何对象或函数的指针比较不等于。
第 7.19p3 节指出:
宏是:
NULL
它扩展为实现定义的空指针常量
So 0
与空指针常量一样(void *)0
and NULL
。指某东西的用途NULL
然而,这是首选,因为它使读者更清楚地看到正在使用空指针而不是整数值 0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)