笔记【字符串,转义字符,注释】
3.字符串
字符- 单引号 - 'a' -输出用%c
字符串 - 双引号 加上 多个字符 - "abcd" -输出用%s - 如果没有将字符串存储起来,此时就是一个字面常量的字符串
char - 是字符的数据类型,不是字符串的数据类型,如果想要存储字符串时候,可以使用到char 和数组
char arr[ ] - 可以用来存储字符串, [ ]里面可以是数值,但是要确保这个数值的大小可以包含所定义的字符串,如果不确定数值,可以省略
\0 - 转义字符 - 表示字符串的结束标志 - 计算的时候并不计算在内
strlen() - 函数 - 头文件 string.h -计算字符串长度,计算元素,从1开始 - \0 作为它的结束标志,否则就会一直找下去
char arr1[ ] = "abcd";
char arr2[ ] = {'a','b','c','d'};
char arr3[ ] = {'a','b','c','d','\0'};
strlen(arr1) - 4 - 字符串“”默认在最后一个元素后面有隐藏的\0,不用写出,不参与运算
strlen(arr2) - 未知,>= 4 - 因为对于用{}罗列出来的字符串元素默认没有\0,那么strlen会继续在内存中找到/0才会停止
strlen(arr3) - 4 - {}添加了\0,有结束标志,并且\0不参与计算
4.转义字符
转义字符 - 转变字符的含义
\' - 将单引号 ' 直接输出,而不是匹配 - 是一个字符
\" - 双引号直接输出 -是一个字符
\\ - 斜杠直接输出 - 一个字符
\n -换行 - 一个字符
\r - 回车 - 一个字符
\t - 一个tab键 - 一个字符
\ddd - ddd八进制位【0~7】转换为10进制对应acssi码里的字符 -一个字符
\xdd -dd 十六进制【0~F】转换为10进制对应acssi码里的字符 - 一个字符
-
这两个字符必须要保证转换为10进制范围在0~127
-如
\123
- 1 * 8*8 + 2 * 8 + 3 * 1 = 113 - q
\x23
- 2*16 + 3*1 = 35 - #
-ascii表 - 将键盘上的字符转为10进制,电脑再将其转为能读懂的2进制
- a = 97 -- 32 = A 65
5.注释
/* */ - 不支持嵌套
//