gpt4 book ai didi

c - 数据类型char的存储

转载 作者:行者123 更新时间:2023-11-30 19:09:59 25 4
gpt4 key购买 nike

有点奇怪的是,C 将字符常量视为 int 类型而不是 char 类型。例如,在具有 32 位 int 和 8 位 char 的 ASCII 系统上,代码

char grade = 'B';

代表'B'作为以 32 位单元存储的数值 66,但等级最终以 8 位单元存储的 66 表示。请解释一下这一行。

最佳答案

grade 的类型为 char,并使用 int 类型的表达式进行初始化。这是完全普通且合法的,并且 int 值会隐式转换为 char 类型。任何算术类型的值都可以隐式转换为任何其他算术类型。

正是由于这种隐式转换,在 99% 的情况下,字符常量的类型为 int 并不是一个问题;这些常量根据上下文进行适当的转换。

(请注意,在 C++ 中,字符常量的类型为 char。请记住,C 和 C++ 是两种不同的语言。)

关于c - 数据类型char的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42141964/

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