【发布时间】:2013-09-16 20:58:14
【问题描述】:
我有一个带有字段的缓冲区结构
char inc_factor;
这是字符数组中要增加的字节数。问题是它必须能够保持最大 255 的值。显然,最简单的解决方案是将其更改为 unsigned char,但我无法更改提供的结构定义。功能:
Buffer * b_create(short init_capacity, char inc_factor, char o_mode)
接受这些参数并返回一个指向缓冲区的指针。我想知道如何将数字 255 放入已签名的字符中。
【问题讨论】:
-
你在写
b_create函数吗? -
是的,我正在编写 b_create 函数。结构已经给定了,但它必须最多可以取255作为参数
-
我不明白,如果给出了调用代码,为什么他们试图传递一个 0 到 255 的值??我的意思是他们需要一个字符,而不是无符号字符,但他们传递的值不适合字符...
-
"char" 倾向于表示 8 位值。 “signed char”(简称:“char”)使用最高位来表示符号,而 unsigned 则没有。它们仍然只能存储 0x00-0xff 的值。有符号与无符号前缀仅决定解释。
-
击败我。规范只是说它必须 x.x 。生病问它是否应该是未签名的。也许这是一个错字,因为我认为否则这是不可能的