• 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 日