gpt4 book ai didi

c++ - 什么时候使用空字符,它有什么作用?

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:59 24 4
gpt4 key购买 nike

标题几乎说明了一切,但:1. 我正在阅读有关字符序列的教程,遇到了我不太了解的部分。他们初始化一个字符数组,末尾有一个空字符,如下所示:

char myword[] = { 'H', 'e', 'l', 'l', 'o', '\0' };

但是,他们并没有真正进一步解释空字符(我也尝试使用谷歌,但遗憾的是我没有找到我想要的答案)。教程说

"By convention, the end of strings represented in character sequences is signaled by a special character: the null character"

这对我来说意味着“大多数时候但不是每次都使用空字符。”所以我的第一个问题是 - 什么时候使用空字符,什么时候知道是否必须明确输入它?

2.. 我有这段代码:

char foo[22] = { 'H', 'e', 'l', 'l', 'o' };
cout << foo << endl;

输出是:你好

但这并没有我添加空字符,在教程中,他们在末尾用空字符初始化数组,正如我之前展示的那样,即使两个示例的输出完全相同? :/

所以我的第二个问题是 - 空字符实际上是做什么的?

谢谢,非常感谢您的宝贵时间!

最佳答案

'\0' 是空终止符。没有这个,您将无法知道字符串何时结束。在你的例子中

char foo[22] = { 'H', 'e', 'l', 'l', 'o' };

相同
char foo[22] = { 'H', 'e', 'l', 'l', 'o', '\0', '\0', ..., '\0' };

有 17 次 '\0'。当你输出字符串时,你可能会得到类似的东西:

auto i = 0
do
{
// Do smoething with foo[i++]
}
while('\0' != foo[i]);

关于c++ - 什么时候使用空字符,它有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42276190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com