为什么需要转义字符?
在ASCII编码中,前32个是不可见字符(非图形),不可见大意是指键盘上面没有对应的字符,没法构成字符常量。怎么办呢?
这个就相当于描述一个不可见的东西,人们就想,既然无法表示,我们就用一个可见的字符去代替一个不可见的字符。
于是就出现了,n表示换行符,t表示水平制表符等
有些同学认为,直接用字符编码不是更好吗?
charc=10;//或者charc=0x0A;这个确实没问题,但是移植性不太好。比如说有些系统就不是0A表示换行符怎么办?虽然这种情况比较少见,但作者认为主要表明考虑问题的严谨性。
我们用n表示换行符,更像是一种标准,字符编码不一定为0A,但一定有字符n,相对比较安全。
使用之后,本身也难保,因此需要来表示字符。
八进制和十六进制转义
不是所有的字符都有同等的代替字符常量,因此就出现了八进制和十六进制转义。
八进制转义,形式:ooo
只需要后面+数字即可,且数字不超出3位,比如101,116等
charc=101;十六进制转义,形式:xhh
形式为:x+十六进制数
charc=x41;八进制和十六进制转义字符理论上表明任意字符都可以用转义表示
常见转义字符
a 响铃(BEL) 007
b 退格(BS) 008
f 换页(FF) 012
n 换行(LF) 010
r 回车(CR) 013
t 水平制表(HT) 009
v 垂直制表(VT) 011
反斜杠 092
? 问号字符 063
单引号字符 039
" 双引号字符 034