可能重复:
C 字符串中的 \0 符号是什么意思?
我是 iPhone 开发的新手。我想知道,'\0'
在C中是什么意思,以及在目标 c中的等价物是什么。
在 C 中,\0
表示一个值为零的字符。以下是相同的:
char a = 0;
char b = '\0';
这个转义序列的效用在字符串字面量中更大,它是字符数组:
char arr[] = "abc\0def\0ghi\0";
(请注意,此数组末尾有两个零字符,因为字符串文字包含一个隐藏的隐式终端零。)
内部'\0'
字符文字和字符串文字代表代码为零的字符。C 和 Objective C 中的含义是相同的。
为了说明,您可以\0
在数组初始值设定项中使用来构造一个等效于以空字符结尾的字符串的数组:
char str1[] = "Hello";
char str2[] = {'H', 'e', 'l', 'l', 'o', '\0'};
通常,您可以使用八进制\ooo
表示法来表示 ASCII 字符,其中s 代表最多三个八进制数字。o
对于 C 语言,'\0'
与整数常量的含义完全相同0
(相同的值零,相同的类型int
)。
对于阅读代码的人来说,写作'\0'
表明您打算使用这个特定的零作为字符。
\0
是零字符。在C
它主要用于表示一个字符串的终止。当然,它是一个常规字符,可以这样使用,但这种情况很少见。
内置字符串操作函数的更简单版本C
要求您的字符串以空值结尾(或以 结尾\0
)。
在 C\0
中是一个字符字面常量存储到一个int
数据类型中,表示值为 0 的字符。
由于 Objective-C 是 C 的严格超集,所以保留了这个常量。
这意味着 '\0' 是NULL
C 中的一个字符,不知道Objective-C
但可能相同。