所以我知道signed intunsigned int之间的区别是用一个位来表示数字是正数还是负数,但是这如何适用于char呢?一个角色怎么可能是正面的,也可能是负面的?

推荐答案

C语言中没有专用的"字符类型".char是整数类型,与intshort和其他整数类型相同(就此而言).char正好是最小的整数类型.因此,就像任何其他整数类型一样,它可以是有符号的,也可以是无符号的.

诚然(顾名思义)char主要用于表示字符.但是C中的字符是用整数"代码"来表示的,所以使用整数类型char来实现这一目的并不奇怪.

char和其他整数类型之间唯一的一般区别是,普通的char不是signed char的同义词,而对于其他整数类型,signed修饰符是可选的/隐含的.

C++相关问答推荐

librsvg rsvg_handle_get_dimensions获取像素大小与浏览器中的渲染大小没有不同

修改pGM使用指针填充2-D数组但不起作用

intellisense不工作,甚至已经下载了c/c++扩展

VS代码C/C++扩展intellisense无法检测环境特定函数'

如何在C中从函数返回指向数组的指针?

如果包含路径不存在,我的编译器可以被配置为出错吗?(GCC、MSVC)

ATmega328P EEPROM未写入

非正规化边缘毛刺

为什么我不能只在内存地址中添加一个int来寻址任何数组?

将数据移动到寄存器时出现分段故障

在Rust和C之间使用ffi时如何通过 struct 中的[U8;1]成员传递指针

对重叠字符串使用MemMove

为什么双精度d=flt_max+flt_max;在c语言中得到inf的结果

在txt文件中找到指定的字符串,并从数字中减go 相同的值

-Wnonnull-Compare警告不是具有误导性吗?

当我用scanf(&Q;%S%S%S&Q;,单词0,单词1,单词2)输入多个单词时,除了最后一个单词外,每个单词的第一个字符都丢失了

中位数和众数不正确

如何用用户输入的多个字符串填充数组?

使用 GCC 将一个函数中初始化的 struct 体实例通过指针传递到 C 中的另一个函数会产生不同的结果

clion.我无法理解 Clion 中发生的 scanf 错误