带字符的数组的状态

时间:2013-11-10 16:16:50

标签: c arrays string pointers

我正在声明像这样的字符数组 -

char str[16]= "The world is";

我知道它的第13个字符是'\ 0'。但是我很好奇其余的字符值直到16的str。是否所有这些都分配给'\ 0'。我搜索了它但找不到一个好的解释。所以我认为另一种最快的方法是在这里问。:)

1 个答案:

答案 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 ...)