字符数组
- char word[] = {‘H’, ‘e’, ‘I’, ‘I’, ‘o’, ‘!’};
这不是C语言的字符串, 因为不能用字符串的方式做计算:
字符串
- char word[] = {‘H’, ‘e’, ‘I’, ‘I’, ‘o’, ‘!’, ‘\0’};
这是C语言的字符串:
- 以0(整数0)结尾的一串字符
- 0或‘\0’是一样的,但是和‘0’不同
- 0标志字符串的结束,但他不是字符串的一部分
- 计算字符串长度的时候不包含这个0
- 字符串以数组的形式存在,以数组或指针的形式访问
- 更多的是以指针的形式
- string.h里有很多处理字符串的函数
字符串变量
- char *str = “Hello”;
- char word[] = “Hellow”;
- char line[10] = “Hello”;
字符串常量
- “Hello"
- "hello"会被编译器变成一个字符数组放在某处,这个数组的长度是6,结尾还有表示结束的0
- 两个相邻的字符串常量会被自动连接起来
字符串
- C语言的字符串是以字符数组的形态存在的
- 不能用运算符对字符串做运算
- 通过数组的方式可以遍历字符串
- 唯一特殊的地方是字符串字面量可以用来初始化字符数组
- 以及标准库提供了一系列字符串函数