我正在声明一个这样的 char 数组-
char str[16]= "The world is";
我知道它的第 13 个字符将是 '\0'。但我对 str 中 16 之前的其余字符值感到好奇。是否都分配给'\0'。我搜索了它,但找不到很好的解释。所以我认为另一种最快的方法是在这里问。:)
其余的将包含零。你实际上在做的是初始化你的数组,如下所示:
char str[16]= {'T','h','e',' ','w','o','r','l','d',' ','i','s','\0'};
如果你在 C 中初始化一个你给定长度的数组,用更短的东西,C 将用 0 填充其余部分。
示例:这将给出一个用零填充的数组
int str[16]= {0};
所以你写的相当于:
char str[16]= {'T','h','e',' ','w','o','r','l','d',' ','i','s','\0',0,0,0};
请注意0 == '\0'
(均为 0000 ...)