C++ 字符数据类型 摘自《VisualC++2005入门经典》P46-P47

本文详细介绍了C++中char和wchar_t数据类型的使用方法及注意事项,包括如何存储单个ASCII字符或16位宽字符,以及如何用字符常量和十六进制数初始化这些变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型char具有双重目的。它指定1字节变量,可以使用这种变量存储给定值域内的整数,或者存储单个ASCII字符的代码。

举例,可以使用下列语句声明一个char型变量:


char  letter = ''A' ;


这个语句声明了一个名称为letter的变量,并利用一个常量‘A’对它进行初始化。


由于字符'A'是由ASCII表示的十进制数值65,所以可以把上面的语句写成:


char  letter = 65;  这个语句与前面那个语句相同。对于VC++来讲,可以存储在char变量中的整数的值域是从-128到127.


摘自《VisualC++2005入门经典》P46-P47


注意:

ISO/ANSI C++标准不要求char形变量必须表示有符号的1字节整数。至于char型变量是表示值域-128~127的有符号数,还是表示值域0~255的无符号数,这是由编译器的实现方式来决定的。如果不是使用的VC++编译器,就可以忽略这个。


类型wchar_t的叫法源于它是宽字符类型,这种类型的变量存储2字节字符代码,值域为0~65535.下面是定义wchar_t类型变量的一个示例:

wchar_t letter = L‘Z’;

这个语句定义了一个变量letter,并利用字母Z的16位代码对它进行了初始化。字符常量'Z'前面的字母L告诉编译器这是一个16位字符代码值。

        也可以使用十六进制常量初始化char型变量(和其他整型变量),当可用的字符代码是十六进制值时,使用这种表示法显然比较容易些。十六进制数是利用十六进制数字的标准表示法编写的:0到9,A到F(或者a到f)的值是从10到15.为了与十进制相区分,它还以0x(或者0X)作为开始。因此,为了得到完全一致的结果,可以把上面的语句重写成:

 char letter = 0x41; // 与A等效


注意:

不要写具有前置零的十进制整数值。编译器将把这样的值作为八进制值(基数为8的数字系统)翻译,所以写成065的值将等同于十进制表示法中的53。


另外还要注意:WindowsXP提供了一个字符映射(CharacterMap)实用程序,它能够根据Windows可用的字体查找字符。它将显示十六进制的字符代码,并告诉您在输入这个字符时要使用的键。单击Start(开始)按钮,然后在Accessories(附件)文件夹中查看SystemTool(系统工具)文件夹,即可找到字符映射实用程序。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值