gpt4 book ai didi

c - 定义的字符串是否设置为所有 NULL?

转载 作者:行者123 更新时间:2023-12-05 01:52:00 26 4
gpt4 key购买 nike

我可以发誓我读到一个已定义但未初始化的字符串被设置为所有 NULL。换句话说,就是

char string[10];

由 10 个空字符组成,而那

char string[10] = "Kevin";

由字母“K”、“e”、“v”、“i”、“n”和五个空值组成。

这是真的吗:

  1. 总是?
  2. 有时,取决于编译器?
  3. 从不?

最佳答案

in other words, that char string[10]; consisted of 10 null characters,

这取决于位置和变量。

char here_yes[10]; // 10 '\0' characters
int main() {
char here_no[10]; // 10 unknown garbage values
static char but_here_also_yes[10]; // also 10 '\0' characters
}

and that char string[10] = "Kevin"; consists of the letters 'K', 'e', 'v', 'i', 'n' and five nulls. Is this true: Always?

是的。如果您部分初始化字符串或变量,则其余部分将填充 '\0' 或零。

char this_has_10_nulls[10] = "";
int main() {
char this_has_ab_followed_by_8_nulls[10] = { 'a', 'b' };
static char this_has_Kevin_followed_by_5_nulls[10] = "Kevin";
}

关于c - 定义的字符串是否设置为所有 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71876727/

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