新动态字符数组末尾的空字符

Null character in the end of the new dynamic char array

如果我创建动态字符数组:

 char * c = new char[5];

而且我不使用字符串填充它,空字符 [=11=] 会在这个数组的末尾吗?

不,字符指针只是指针。他们甚至不必指向数组。

在您的特定情况下,新数组的元素未初始化。如果你想让它们初始化为零,你可以这样做:

char * c = new char[5]();

这会将所有元素设置为 [=11=]。您可以考虑 c 指向一个以 null 结尾的字符串。