1、将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的 ASCII代码放到存储单元中。 例如字符'a'的ASCII代码为97,'b'为98,在内存中变量c1、c2的值如下图(a)所示。实际上是以二进制形式存放的,如(b)所示。
![](https://i-blog.csdnimg.cn/blog_migrate/8d24f310ea941e252f510d3122fedb0c.png)
既然在内存中,字符数据以ASCII码存储,它的存储形式就与整数的存储形式类似。 C语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。以字符形式输出时,需要先将存储单元中的ASCII码转换成相应字符,然后输出。以整数形式输出时,直接将ASCII码作为整数输出。也可以对字符数据进行算术运算,此时要相当于对它们的ASCII码进行算术运算。值的注意的是,字符数据只占一个字节,它只能存放0~255之间的整数。
2、向字符变量赋以整数。
1
main(){
2 char ch1,ch2;
3 ch1 = 97 ;
4 ch2 = 98 ;
5 printf( " %c %c\n " ,ch1,ch2);
6 printf( " %d %d\n " ,ch1,ch2);
7 }
运行结果如下:
2 char ch1,ch2;
3 ch1 = 97 ;
4 ch2 = 98 ;
5 printf( " %c %c\n " ,ch1,ch2);
6 printf( " %d %d\n " ,ch1,ch2);
7 }
a b
97 98
97 98