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

时间:2015-03-14 21:42:43

标签: c++ arrays pointers char null-terminated

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

 char * c = new char[5];

我不用字符串填充它,空字符\0是否在这个数组的末尾?

1 个答案:

答案 0 :(得分:6)

不,char指针只是指针。他们甚至不必指向阵列。

在您的特定情况下,newed数组的元素保持未初始化状态。如果您希望将它们初始化为零,则可以执行以下操作:

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

这会将所有元素设置为\0。您可以考虑c指向以null结尾的字符串。