从C出发 14 --- 字符数组与字符串
字符数组里面的每个元素是char 类型的变量,而char 类型就是一种整型,是最小的整型,小在哪里,小在只占用一个字节
char c1 = 97;
char c2 = a; //字符型 就可以用字符字面量来进行初始化
char 既可以看成整型,又可以看成字符型,所以说字符数组不仅可以看成整数的有序集合,也可以看成字符的有序集合,因此我们可以用字符的有序集合来表示可阅读的文本信息
sizeof(a) 用来获取 a 这个数组所占用的内存字节数
字符数组就是 字符串
字符串在 c 语言里面可以分为 字符串变量(没有办法直接创建,可以用字符数组来模拟)和字符串常量(可以直接获得,双引号括起来的有序字符集)
转义: 指的是转变意义,转变字符的意义
‘ 0 ’ 意义是字符0,字符0所对应的整数是48 ,没转义的时候 字符0 所对应的整数是48
‘ \\0 ' 加上 \\ 意味着要进行转义,将0字符的意义转变 , 转变成0元素 就是整数0
' \\n ' 表示换行
\\ 将字符n 给转义了
' n '表示字符n
字符数组中的元素,不一定是其所代表的字符串中的元素
用 "Delphi" 对s这个字符数组进行初始化,初始化的结果是 s变成了一个字符串变量
将 s 看成字符数组的时候它的大小是 S1
将 s 看成字符串的时候,它的长度是S2
如果一个字符数组里面不包含元素,就不是字符串 ,而一个字符串一定是一个字符数组
dt 是一个字符串变量,因为使用字符串常量来进行初始化的
为什么是5个字节?
字符串字面量,也就是字符串常量包含了0元素,这个0元素在哪里,在最后一个字符这里,虽然我们看不到,但其实不至这4个字符
字符数组与字符串有什么关系?
字符数组可以当成字符串来使用,在什么情况下字符数组可以当成字符串来使用呐?只有字符数组里面存在 0 元素,那么就可以当成字符串来使用了
0 元素 : ' \\0 '
不存在
a + b是正确的语句,而结果没有做任何处理,直接扔掉
+ 法不能作用于字符串
int l = strlen("Deyolm"); //定义一个变量 l ,然后对这个变量 l 进行初始化,初始化的值是 Deyolm 这个字符串的长度, 这个字符串的长度是6 ,因此 l 的值就被初始化为6 ,这个6 就是通过这个 strlen 这个工具得到的
if( strcmp("ab","bc")==0 )
{printf("ok"); //不会打印条件为false
}
# include <stdio.h> 声明使用工具包 ,使用输入输出
#include <string> 声明使用工具包 ,使用字符串运算