gpt4 book ai didi

c - "char"是一种特殊类型的整数变量吗?

转载 作者:行者123 更新时间:2023-12-04 03:39:03 24 4
gpt4 key购买 nike

我最近看到一个声明,说 C 中的“char”类型实际上是一种特殊的整数形式——存储表示字符和符号的 ASCII 代码数字。

这在多大程度上有效?这引出了另一个问题——char 类型真的可以归类为 C 中的整数吗?

最佳答案

是的,在 C 中,char被认为是整数类型。它要求至少有 8 位。 char 之间的等价物并且一个字节的存储是相当明确的,而不仅仅是通常发生的事情。例如,(C99,§5.2.4.2.1/1):

number of bits for smallest object that is not a bit-field (byte)
CHAR_BIT 8

所以,一个 char始终只占用一个字节,最少必须为 8 位。如果它更大,它仍然只占用一个字节——但那个字节恰好大于 8 位。

就保存 ASCII 代码而言,这通常是正确的,但不一定如此。在像 IBM 大型机这样的东西上,它可能会保存 EBCDIC 代码。在更常见的机器上,“ASCII”或多或少是偶然出现的,但是在对非英文字符进行编码时,您会很快发现它并不是真正存储 ASCII。它通常存储 ISO 8859/x 或 Unicode UTF-8。

关于c - "char"是一种特殊类型的整数变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11698535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com