一、字符串和\0
在c语言中如何表示字符串呢?使用双引号括起来的一串字符就被叫做字符串,例如:“abcdefg”,就是一个字符串。字符串的打印格式可以用%s来指定,也可以直接打印如下:
注:1、在字符串的末尾隐藏放着一个‘\0’字符,这个\0字符是字符串的结束标志。
2、字符串可以存放在字符数组中。
3、(1)char arr1[ ] = "abcdefg";在这个中arr1含有\0
(2)char arr2[ ] ={'a', 'b', 'c', 'd', 'e', 'f' , 'g'};在这个arr2中不包含\0
-----strlen是一个库函数,用来求字符串长度的,统计的是字符串中\0之前的个数。举例如下:
之所以第二个数组的长度是33,是因为在第二个字符串中没有结束符\0,会产生乱码,直到遇到一个结束符。
二、转义字符
1、 \n(换行)是一个转义字符。可以简单理解为\使n的意思发生了转变。n的本义就是一各普通字符。
2、 \‘表示字符常量‘ 想打印一个单引号用\‘表示。
3、\'' 表示一个字符串内部的双引号
4、\?用于书写连续多个问号时使用,防止被解析为三字母词。
eg. ?? ) ----> ] ? ? ( -----> [
5、 \t表示水平制表符,光标移到下一个水平制表位,是下一个4或8的倍数。
6、 \\用于表示一个反斜杠,防止它被解释为一个转移序列符。(等于一个\)
7、\a使终端发出警报声。
8、\b是一个退格键,光标回退一个字符,但是不删除字符(若\b在中间会覆盖一个其他字符,但是不删除其他字符)。
9、\r 回车符,光标移到同一行的开头。
10、\ddd ddd表示1~3位八进制的数字
如上图:表示将\后的八进制数字转换为十进制的数字,这个数字作为ASCII码值表示的字符就是打印的内容。
11、\xdd 表示俩个十六进制的数字
12、\0就是\ddd这类转义字符的一种,用于字符串的结束标志,其ASCII码是0.