> 文章列表 > 从C出发 14 --- 字符数组与字符串

从C出发 14 --- 字符数组与字符串

从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> 声明使用工具包 ,使用字符串运算