23

可能重复:
C 字符串中的 \0 符号是什么意思?

我是 iPhone 开发的新手。我想知道,'\0'C中是什么意思,以及在目标 c中的等价物是什么。

4

7 回答 7

23

空字符'\0'(也null terminator),缩写为NUL,是一个值为 的控制字符zero。它在C目标 C中是一样的

该字符在 C 中具有更重要的意义,它用作用于表示 a 结尾的保留字符string,通常称为以空字符结尾的字符串

通过搜索(第一个)NUL 字节来找到C 字符串(包含字符并以字符结尾的数组)的长度。'\0'

于 2013-01-22T15:09:49.950 回答
11

在 C 中,\0表示一个值为零的字符。以下是相同的:

char a = 0;
char b = '\0';

这个转义序列的效用在字符串字面量中更大,它是字符数组:

char arr[] = "abc\0def\0ghi\0";

(请注意,此数组末尾有两个零字符,因为字符串文字包含一个隐藏的隐式终端零。)

于 2013-01-22T15:12:29.173 回答
6

内部'\0'字符文字和字符串文字代表代码为零的字符。C 和 Objective C 中的含义是相同的。

为了说明,您可以\0在数组初始值设定项中使用来构造一个等效于以空字符结尾的字符串的数组:

char str1[] = "Hello";
char str2[] = {'H', 'e', 'l', 'l', 'o', '\0'};

通常,您可以使用八进制\ooo表示法来表示 ASCII 字符,其中s 代表最多三个八进制数字。o

于 2013-01-22T15:10:21.140 回答
5

对于 C 语言,'\0'与整数常量的含义完全相同0(相同的值零,相同的类型int)。

对于阅读代码的人来说,写作'\0'表明您打算使用这个特定的零作为字符。

于 2013-01-22T15:39:57.043 回答
3

\0是零字符。在C它主要用于表示一个字符串的终止。当然,它是一个常规字符,可以这样使用,但这种情况很少见。

内置字符串操作函数的更简单版本C要求您的字符串以空值结尾(或以 结尾\0)。

于 2013-01-22T15:09:57.563 回答
0

在 C\0中是一个字符字面常量存储到一个int数据类型中,表示值为 0 的字符。

由于 Objective-C 是 C 的严格超集,所以保留了这个常量。

于 2013-01-22T15:13:12.050 回答
-4

这意味着 '\0' 是NULLC 中的一个字符,不知道Objective-C但可能相同。

于 2013-01-22T15:10:22.947 回答