哪个C标准头文件定义NULL字符?

Nim*_*ema -4 c

哪个C标准头文件定义了NULL字符(\0)的符号常量,该字符用作字符串终止符?

虽然我自己在程序中将其定义为:

#define NULL_CHAR       '\0'
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种合适的方法。另外,假设它是在某些头文件中定义的,那么仅出于访问此字符而不是自己定义该字符的目的而包含头文件是否会有缺点?

Ant*_*ala 5

没有。而'\0'不是char,但int。如果你不想使用'\0'可以使用00x000000等等...


Eri*_*hil 5

NULL宏定义<stddef.h>。(它也在其他几个头文件中定义。)它扩展为空指针常量,旨在与指针一起使用,而不与字符一起使用。

没有适用于的标准宏'\0'。它等效于0(字符常量具有int类型),并且它的宏用途有限。

该字符'\0'通常称为空字符,但这与NULL指针常量不同。

  • 请注意,“&lt;stdio.h&gt;”、“&lt;stdlib.h&gt;”、“&lt;string.h&gt;”、“&lt;time.h&gt;”和“&lt;wchar.h&gt;”也定义了“NULL”——您很少定义直接使用`&lt;stddef.h&gt;`来获取它的定义。 (2认同)