我知道我们必须使用空字符来终止一个字符串数组,就像这样:
char str[5] = { 'A','N','S','\0' };
但我只是想知道为什么在这样的数组中使用空字符来终止是必要的?
另外,为什么不添加一个空字符来终止这些内容:-
char str1[5]="ANS";
我知道我们必须使用空字符来终止一个字符串数组,就像这样:
char str[5] = { 'A','N','S','\0' };
但我只是想知道为什么在这样的数组中使用空字符来终止是必要的?
另外,为什么不添加一个空字符来终止这些内容:-
char str1[5]="ANS";
'\0'
,使用“空指针常量”表示NULL
。而NUL是ASCII码中表示代码0的字符。建议修改帖子内容。 - chux - Reinstate Monica如果你使用任何标准库,虽然它并非必要,但它们都期望这样做。
char str[5] = {'A','N','S','\0'};
和char str1[5] = "ANS";
(即使有明确的长度)。 - chrisstr1[5]="ANS"
中不需要这样做,因为编译器会自动为您完成。字符串常量 "ANS" 分配了 4 个字节,并在最后一个字节中放置了零终止符。 - Lee Daniel Crocker