一,字符串和\0
c语言中将使用双引号括起来的一串字符称为字符串,例如:"wanghongbao",就是一个字符串
字符串的打印格式一般使用%s或者直接用printf打印。
c语言中每个字符串后面都隐藏的一个\0,这个\0字符就是字符串的结束标志。
1,对于字符串"wanghongbao",我们实际上看到了11个字符:w,a,n,g,h,o,n,g,b,a,o但是实际上末尾还隐藏着一个\0的转义字符。
2,\0是字符串结束的标志,我在用printf()函数打印字符串或者strlen函数打印字符串长度时,遇到\0时就会自动停止。
3,c语言中也可以把字符串放在数组中。如下列代码
我们可以看到数组arr1答打印出的结果后跟着一部分随机值,这是因为arr1中的字符串后没有\0作为结束标志,故在打印完字符串后没有停止,arr2打印合适,是因为arr2数组使用初始化字符串常量,字符串结尾有\0作为结束标志。
我们不妨在arr1后添加\0,打印 结果如下。
如此可见\0就是打印字符串结束的标志
二,转义字符
我们在前面遇到的\n,\0,? ?其实就是转义字符
定义:转义字符就是通过改变字符原本的含义,达到在字符串中插入某些特殊字符或实现某些特殊功能的作用;
部分特殊字符:在字符串中插入引号,反斜杠等
部分特殊功能:退格,换行,回车等
如:\n作为换行的使用
?
\n 是?个转义字符表?换?的意思,我们可以简单的理解为 \ 让 n 的意思 发?了转变, n 本来是?个普通的字符,被 \ 转义为换?的意思。
常见的转义字符