字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。
转义字符以\或者\x开头,以\开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。
例如: 字符‘a’,对应的8进制是141,对应的16进制是61。分别用转义字符输出如下:
#include <stdio.h>
int main(){
char c = 'a';
printf("c=%c\n",c);
printf("c=%c\n",'\141');
printf("c=%c\n",'\x61');
return 0;
}
运行结果:
c=a
c=a
c=a
转义字符的初衷是用于 ASCII 编码,所以它的取值范围有限: 八进制形式的转义字符最多后跟三个数字,也即\ddd,最大取值是\177; 十六进制形式的转义字符最多后跟两个数字,也即\xdd,最大取值是\x7f。
常见的转义字符见下表:
