反斜杠零分隔符'\ 0'
答
\0
是\000
这是一个八字符转义的简写。一般来说,您可以缩短任何八进制数字之后没有的八进制转义。这源自原始C转义序列(\n \r \t \f \v \b \000
,其中后者是八进制符号中的字符值; ANSI增加了一些,并且\v
现在有点罕见,许多更现代的语言不实现它)。
答
的两字符\0
表示在C源代码用来代表空字符,这是(单)字符的ASCII值0
NUL字符是用C风格字符串用于指示字符串的结尾在哪里。例如,该串"Hello"
被编码为十六进制字节:
48 65 6c 6c 6f 00
在这种情况下,C编译器自动上的任何双引号字符串的末尾添加00
字节。如果您将常量写为"Hello\0"
,则C编译器将生成:
48 65 6c 6c 6f 00 00