字符型数据是计算机中用来表示英文字母、符号、汉字的数据。字符型数据只占用1个字节(8位)的内存单元。
字符型常量
用单引号括起来的一个直接输入的字符。例如,‘A’、‘a’、‘3’、’+’等都是合法的字符常量。
注意:字符常量只能用单引号括起来,不能用双引号或其他括号;字符’4’和数值4是不相同的,字符’4’的值是其ASCII值0X34。
字符型变量
字符型数据类型符是char。在内存中占1个字节(8位),由于字符型数据也可以参与运算,因此,C语言将字符型数据分为有符号字符和无符号字符。
无符号的字符的数据类型是unsigned char。下面给出定义字符型变量范例:
char ch; //有符号字符
unsigned cahr C='B'; //无符号字符 变量C中实际存放的值是字符'B'的ASCII码值(0X42)
字符串常量
字符串常量是由一对双引号括起来的字符序列。例如,“CHINA”,“C program”,”$12.5″等都是合法的字符串常量。
字符串常量和字符常量是不同的量。它们之间主要有以下区别:
- 字符常量由单引号括起来,字符串常量由双引号括起来。
- 字符常量只能是单个字符,字符串常量则可以含一个或多个字符。
- 可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。
- 字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符’\0’(ASCII码为0),这是字符串结束的标志。例如,字符串”HELLO”在内存中占6个字节,其存放形式如下。
ASCII编码 | 0X48 | 0X45 | 0X4C | 0X4C | 0X4F | 0 |
---|---|---|---|---|---|---|
对应字符 | ‘H’ | “E” | ‘L’ | ‘L’ | ‘O’ | ‘\0’ |