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

neu*_*ant 0 c++ arrays pointers char null-terminated

如果我创建动态char数组:

 char * c = new char[5];
Run Code Online (Sandbox Code Playgroud)

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

jua*_*nza 6

不,char指针只是指针.他们甚至不必指向数组.

在您的特定情况下,newed数组的元素保持未初始化状态.如果您希望它们初始化为零,您可以这样做:

char * c = new char[5]();
Run Code Online (Sandbox Code Playgroud)

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