- char类型用于存储字符,但是从技术层面看,char是整数类型。因为char类型实际存储的是整数而不是字符,计算机使用数字编码来处理字符,即用特定的整数表示特定的字符。美国常用的是ASCII编码。
- C语言把1字节定义为char类型占用的位(bit)数
字符常量和初始化
- 在C语言中,用单引号括起来的单个字符被称为字符常量(character constant)。
- 如果用双引号括起来,编译器则认为是一个字符串
- 实际上,字符是以数值形式存储的,所以可以使用数字值来赋值,例如:char grade = 65;对于ASCII而言,这样没问题,但这是一种不好的编程风格,前提是系统使用ASCII编码。用A替代65才是最妥当的做法,这样在任何系统中都没问题。
使用特殊的符号表示一些特殊的字符。这些符号序列叫做转义序列(escape sequence)。
- \a
- \b
- \f
- \n
- \r
- \t
- \v
- \\
- \'
- \"
- \?
- \0oo
- \xhh\
- 如果要在转义序列和ASCII编码之间选择,请选择前者,好记而且可移植性高。而ASCII编码能更清晰地表达程序员使用字符编码的意图
打印字符
- printf()函数用%c指明待打印的字符,也可以使用%d打印该字符对应的值
- 根据C90标准,C语言允许在关键字char前面使用 signed 或 unsigned 来表示有无符号类型
最后修改:2024 年 02 月 29 日
© 允许规范转载