我必须从一个 4 字节长的设备中读取数据,这样我就声明了数组
char data[4] = {0};
我将根据索引解析它并保证在索引 3 处停止。
data[0]..data[3]
在这种情况下,NUL('\0') 没有空间。
我想知道这是否安全,或者我应该将数组声明为
char data[5] = {0};
str*系列函数中不会使用该数组
最佳答案
如果要读取的数据是 4
字节的字符串,或者如果它大于 4
字节并且您正在使用 char
作为一个字符数组而不是字符串然后不用担心。否则你必须关心 '\0'
。
关于c - 在 C 中声明字符数组的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35839558/