例如:
char array[][5] = {"game", "house"};
是 house
适合数组还是我必须添加空字符所以我必须这样声明:
char array[][6] = {"game", "house"};
最佳答案
如果您将数组用作字符串,它必须包含终止空字符。终止空字符是数组的一部分,必须包含在其大小中。
许多标准 C 库例程都采用字符串 参数,这些参数是由空字符终止的字符数组。
也可以出于您自己的目的使用字符数组,而不将其传递给需要字符串的标准库函数。如果这是您使用数组的方式,则不需要包含终止空字符。
当您使用字符串文字初始化此类数组时,您不需要在数组大小中包含用于终止空字符的空间。仅当有空间时,字符串文字中的终止空字符才会用于初始化数组元素。
关于c - 如果我声明一个 char 数组,我是否也必须计算空字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54606221/