c - 在 C 中声明字符数组的最佳实践

标签 c arrays string nul

我必须从一个 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/

相关文章:

c - 在函数中使用结构

创建 int 函数,在发生错误的情况下无法返回有效的 int 值

c++ - 析构函数如何执行?

java - 如何找到字符串中最长的单词?

java - SL4J 配置更改或正则表达式以屏蔽 Json 中的电子邮件(由 '@' 和 '.com' 识别)

c - C中(二进制)逻辑运算符语句的行为

c - gcc 函数参数在堆栈帧上的对齐方式

javascript - 在javascript中将坐标对字符串转换为坐标对数组对象

php - extract() 获取类成员

android - 如何从字节数组中逐字节获取