目录
10.1.1 字符串
char word[]={'h','e','l','l','o','!'};
定义这样一个字符数组,它是一串字符,但并不是C语言的字符串,不能用字符串的方式做计算
那么如何定义一个字符串?
char word[]={'h','e','l','l','o','!','\0'};
这两句的区别在哪呢?很显然,在数组中多加了第七项 word[6]='\0'
之前学过的转义字符,其中就有\0的存在,其意义就是0,可以在这个位置直接放单独的一个0,不加单引号和反斜杠。
这个0就让这word这个变量成为字符串,本质上仍然是一个字符数组,具有了双重功能。
字符串(实际上是数组)
- 单引号的反斜杠0:直接写0可能是int或者更大的类型
- 单引号里的0:ASCII码里的0,十进制为48
字符串变量
有以下几种定义字符串的方法:
- 第一种:一个名为str的指针指向了一个字符数组Hello这个内容在哪,稍后再说
- 第二种:现在有一个字符数组名为word,内容为Hello
- 第三种:有名为line的字符数组,大小为10,其中有前6个(0~5)为Hello+0
字符串常量
- 像“Hello”这样用双引号括起来的东西叫字符串常量(字面量)
- “Hello”会被编译器变成一个字符数组放在某处(长度为6,结尾有0)
- 在各种语句中都可以见到,scanf、printf等
- 两个相邻的字符常量会被自动连接在一起,也可以用斜杠链接