NULL、'\0'和0之间有什么区别?

381

在C语言中,似乎存在着零的不同取值 -- NULLNUL0

我知道ASCII字符'0'的值为480x30

NULL指针通常被定义为:

#define NULL 0

或者

#define NULL (void *)0

此外,还有一个NUL字符'\0',它似乎也会被解释为0

这三个值有时可能不相等吗?

在64位系统上,这也是正确的吗?


2
请参考https://dev59.com/_XVC5IYBdhLWcg3w0EkD#1234382,了解0和NULL之间的区别。 - David Rodríguez - dribeas
14
标识符NUL在C标准语言或库中不存在(至少在我所知道的C++中也是如此)。空字符有时被称为NUL,但在C或C++中通常只被称为'\0' - Keith Thompson
11个回答

-2

(void*) 0 表示 NULL,'\0' 表示字符串结尾。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接