3 回答
TA贡献1752条经验 获得超4个赞
空指针
0
0
0
0
0
void *
NULL
stddef.h
#undef NULL
if (pointer == NULL)
NULL
NULL
if (pointer == 0)
0
if (!pointer)
if
int mynull = 0;<some code>if (pointer == mynull)
if (!pointer)if (pointer == NULL)if (pointer == 0)
#define MYNULL (void *) 0xDEADBEEFif (pointer == MYNULL)if (pointer == 0xDEADBEEF)
空字符
'\0'
if (!*string_pointer)
if (*string_pointer)
'\0'
'\0'
0
参考文献
TA贡献1873条经验 获得超9个赞
零
'\0'
A 空字符
TA贡献1827条经验 获得超7个赞
指针上下文-NULL,它意味着指针的值是0,这与它是32位还是64位无关(一个是4个字节,另一个是8个字节的零)。 字符串上下文-表示数字零的字符的十六进制值为0x30,而NUL字符的十六进制值为0x00(用于终止字符串)。
NULL - 0x00000000 or 0x00000000'00000000 (32 vs 64 bit)NUL - 0x00 or 0x0000 (ascii vs 2byte unicode)'0' - 0x20
- 3 回答
- 0 关注
- 1175 浏览
添加回答
举报