【发布时间】:2021-01-08 03:45:10
【问题描述】:
我们声明char变量时有一种说法。
我们应该这样声明 -> char ArrayName[Maximum_C-String_Size+1];
例如:
char arr[4+1] = {'a', 'b', 'c', 'd'}
但是
arr[4] = {'a', 'b', 'c', 'd'} 也可以
为什么要加1? 谢谢!
【问题讨论】:
-
如果您打算将
arr视为以NUL 结尾的字符串,则需要加1。额外的元素是存储 NUL 终止符。 -
字符符号'\n'结束字符串
-
如果您找到了使用
arr[4+1]的教程或书籍,请停止使用该教程或书籍并找到更好的。