一个问题被提出,我不确定我是否给出了准确的答案。问题是,为什么使用
能否有人对此进行解释?
int
,而不是char
,它们为什么要分开?它们都被保留在内存和位中,为什么数据类型有不同的类别?能否有人对此进行解释?
char
是最小的可寻址内存块,非常适合操作数据缓冲区,但无法容纳超过256个不同的值(如果char
是8位的话,这是通常情况),因此对于数字计算不太好用。 int
通常比char
大-更适合于计算,但不太适合于字节级操作。
C
有时被用作更高级别的汇编语言,与低级硬件交互。您需要使用与机器级功能匹配的数据类型,例如字节宽I/O寄存器。C的主要用途是“系统编程”,包括实现操作系统和嵌入式系统应用程序,由于具有可移植性和效率等理想特性的组合,能够访问特定的硬件地址,能够“pun”类型以匹配外部强加的数据访问要求,并且对系统资源的运行时需求较低。
标准对 char 和 int 的限制非常少:
char 必须能够容纳 ASCII 值,即至少为 7 位(根据 C 标准,CHAR_BIT 至少为 8)。它也是最小的可寻址内存块。
int 至少为 16 位宽,是“推荐”的默认整数类型。这个建议留给实现(你的 C 编译器)。
int
是“自然”的整数类型,大多数计算应该使用它。
char
本质上是一个字节;它是可寻址的最小内存单元。虽然大多数情况下 char
是8位宽度,但并非所有平台都是如此。