2.2.3 字符型

在 ANSI/ISO C++中,char 字符类型用于表示 ASCII 编码的字符,它有三种不同的类型:char、unsigned char和signed char。

一般来说,若用char存储小整数时,可根据需要添加unsigned和signed修饰,unsigned char可看成是0~255的正整数,signed char可看成是-128~127的小整数。若用char存储字符时,则不需要任何修饰。对于没有任何修饰的 char 来说,默认时,它既不是有符号也不是无符号。char 究竟是否有符号,取决于不同编译器对其的处理方式。事实上,大多数编译器,如Visual C++等,均将没有任何修饰的char型默认为signed char。

除char类型外,在ANSI/ISO C++中,还有另一种字符类型wchar_t,用来表示双字节编码的字符,称为宽字符。由于 cin 和 cout 将输入和输出看做是 char 流,因此它们不适合处理wchar_t 类型,但最新版本的头文件 iostream 提供了相类似的 wcin 和 wcout,用来输入和输出wchar_t流。需要说明的是,本书虽然不使用wchar_t类型,但应知道有这样的类型。