char类型及字符常量

                                     char类型及字符常量  

 

   char类型用于存储字母和标点符号之类的字符,但是在技术实现上char却是整数类型,这是因为char类型实际存储的是整数而不是字符。

     char grade = 'A';

此表达式表示定义了一个字符常量'A',并将这个字符常量赋给一个char变量grade;

 

      因为字符实际上以数值的形式存储,所以也可以使用数值编码来赋值:

      char grade = 65;    /*对于ASCⅡ,这是可以的;但是一种不好的编程风格*/

      上面的语句中,65是int类型,但是它在char大小范围之内,所以这样赋值完全允许。由于65是字母A的ASCⅡ码,此语句将字符'A'赋予变量grade。但是要注意,这个结果的假设是系统使用的是ASCII码。而使用'A'代替65进行赋值则可在任意系统中正常工作。因此推荐使用字符常量,而不是数值编码。

      然而,C将字符常量视为int类型而非char类型。例如,在int类型为32位和char类型为8位的ASCⅡ系统中,下列代码:

      char grade = 'B';

      意味着'B'作为数值66存储在一个32位单元,而赋值后的grade则把66存储在一个8位的单元中。利用字符常量的这个特性,可以定义一个字符常量'FATE',这将把4个独立的8位ASCⅡ码存储在一个32位的单元中。然而,如果把这个字符常量赋给一个char变量,那么只有最后8位会起作用,因此变量的值为'E'。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值