我正在声明像这样的字符数组 -
char str[16]= "The world is";
我知道它的第13个字符是'\ 0'。但是我很好奇其余的字符值直到16的str。是否所有这些都分配给'\ 0'。我搜索了它但找不到一个好的解释。所以我认为另一种最快的方法是在这里问。:)
答案 0 :(得分:1)
其余的将包含零。你实际做的是按如下方式初始化数组:
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 ...)