前言
本次主要讲述转移字符\0的使用以及需要注意的地方。
一、转义字符是什么?
C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
二、关于转义字符
1.转义字符有哪些?
\n 换行符
\0 结束符
\t 水平制表
\v 垂直制表
\? 在书写连续多个问号时使用,防止他们就被解析成三字母词
\' 用于表示字符常量'
\\ 用于表示一个反斜杠,防止他被解释为一个转移序列符
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\r 回车
\ddd ddd表示1~3个八进制的数字。如:\130 (Ascll码x)
\xdd dd表示2个十六进制数字。如:\x30 (Ascll码0)
2.关于\0
\0是字符串的结束标志。
可以看出arr2的输出与arr1、arr3不同。
我们可以监视一下,如下图。
可以看出%s打印时,遇到\0停止打印,而arr2是由于没有\0,导致打印无法停止。
接下来需要注意的是 :
1.在计算字符串长度时,\0是结束标志,不算作字符串内容,但\0属于一个元素。
2.在申请数组时需要算上\0,而计算字符串长度时不算(arr1,arr3的结果)。
3.在用strlen函数(计算在\0前的字符串长度)计算没有\0的字符串时,结果是随机的(arr2的结果)。
4.其他转义字符可以计算上(最后一图)。
总结
\0很重要,需要注意的地方有很多!
一起学习,一起进步!(如有错误,感谢指正!)