- 论坛徽章:
- 0
|
空指针究竟指向了内存的哪个地方?
NULL指针的值一定是0,这点可参照C语言标准。以下来自C99(WG14/N843 199 :
[#3] An integer constant expression with the value 0, or
such an expression cast to type void *, is called a null
pointer constant.46) If a null pointer constant is assigned
to or compared for equality to a pointer, the constant is
converted to a pointer of that type. Such a pointer, called
a null pointer, is guaranteed to compare unequal to a
pointer to any object or function.
.....
46)The macro NULL is defined in <stddef.h>; as a null pointer
constant; see 7.17.
第一段说得很清楚,值一定是0,而类型可以是void *,也可以是int。
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n843.htm |
|