(编辑更改C / C ++至C)
请帮助我在C中的char
和unsigned char
上找到一个清晰的说明。特别是当我们在嵌入式设备和普通PC之间传输数据时(unsigned char
的缓冲区之间的差异普通char
)。
答案 0 :(得分:8)
你问的是两种不同的语言,但在这方面,两者的答案是(或多或少)相同。你真的应该决定你正在使用哪种语言。
的差异:
char
是签名还是未签名相似点:
如果您只是使用它们来传输原始字节值而没有算术,则没有实际区别。
答案 1 :(得分:3)
char类型很特别。它不是unsigned char或signed char。这些是三种不同的类型(而int和signed int是相同的类型)。 char可能具有签名或无符号表示。
从3.9.1基本类型
Plain char,signed char和unsigned char是三种不同的类型。一个 char,一个签名的char和一个unsigned char占用相同的数量 存储并具有相同的对齐要求(3.11);就是他们 具有相同的对象表示。