c++ - 新动态字符数组末尾的空字符

标签 c++ arrays pointers char null-terminated

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

 char * c = new char[5];

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

最佳答案

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

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

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

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

关于c++ - 新动态字符数组末尾的空字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29054553/

相关文章:

java - 从 MDX 请求 Mondrian 检索数据

javascript - 在对象数组中交换属性值的有效方法

c++ - Boost Spirit 自动解析器因 double 元组而失败

arrays - 使用 GraphQL/Apollo Server 时,是否应该为没有数据库结果而抛出错误?

c++ - 如何为 fuse readdir() 正确分配缓冲区?

c - '- 使用了 >' operator in C and how it'

c - 我们是否总是需要在 malloc/realloc 之后检查指针是否为空?

c - 指针比较与字符串比较 strcmp 的性能

c++ - constexpr 值的数据结构

c++ - 阶乘 - 数组 - C++