我应该总是声明char数组大于我的字符串吗?

Woj*_*cel 2 c c++ arrays string char

所以我知道你应该将char数组声明为比你想放在那里的单词大一个元素,因为\0它必须在最后,但是我不想用作单词的char数组怎么样?

我正在编写一个程序,在其中我存储了一系列键盘字母,这些键盘字母分配了一些功能.我还应该结束这个阵列\0吗?

Lig*_*ica 7

这可能没有必要.

空终止符不是数组的必需条件char; 它是"C字符串"的要求,您打算将其用作单一数据块,特别是如果您打算将它们传递给C API函数.传统的方法是确定弦的"长度".

但是如果你只是想要一个char独立使用的s 集合那么就把自己搞得一团糟.

我们看不到你的代码,但听起来像你在这种情况下你不想要或不需要它.


zer*_*tyz 5

该数组应至少具有与您放置的数据相同数量的元素.因此,如果:

  • 你不需要'\ 0'
  • 你不会把它放在那里
  • 你不会使用依赖于'\ 0'的例程来告诉你数组的大小

...你没有使用尾随的'\ 0'你很好