C 语言中的字符串是以 null 结尾的字符数组,可以使用 char 类型的数组来表示字符串。此处的 null 指的是 ASCII 码值为 0 的字符,也被写作 ‘\0’。
声明字符串
1. 字符数组形式
字符串可以看作是一个字符数组,可以使用字符数组类型来声明。例如,以下代码声明了一个长度为 6 的字符串:
char str[6] = "hello";
2. 指针形式
除了使用字符数组类型来声明字符串外,还可以使用指向字符的指针来表示字符串。例如,以下代码将指针 str
指向了一个字符串常量:
char *str = "hello";
这种方式适用于只需要简单操作字符串的情况,但不适合对字符串进行更复杂的操作(例如修改字符串内容)。
字符串操作
1. 字符串输出
可以使用 printf
函数来将字符串输出到屏幕上。例如,以下代码将字符串 “Hello” 输出到屏幕上:
char str[6] = "hello";
printf("The string is %s", str);
注意,printf
函数可以自动识别并输出字符串,就像大多数高级语言一样,不需要使用动态变量替换。
2. 字符串复制
可以使用 strcpy
函数将一个字符串的内容复制到另一个字符串中。例如,以下代码将字符串 “hello” 复制到 dest
中:
char str[6] = "hello";
char dest[6];
strcpy(dest, str);
3. 字符串连接
可以使用 strcat
函数将两个字符串连接在一起。例如,以下代码将字符串 “hello” 和 “world” 连接在一起:
char str1[6] = "hello";
char str2[6] = "world";
strcat(str1, str2);
4. 字符串比较
可以使用 strcmp
函数来比较两个字符串是否相等。例如,以下代码将比较 str1
和 str2
是否相等:
char str1[6] = "hello";
char str2[6] = "world";
if (strcmp(str1, str2) == 0) {
printf("The two strings are equal.");
} else {
printf("The two strings are not equal.");
}
示例
示例 1:求字符串的长度
#include <stdio.h>
#include <string.h>
int main() {
char str[6] = "hello";
int len = strlen(str);
printf("The length of the string is %d.", len);
return 0;
}
代码解释:
strlen
函数可以用来获取一个字符串的长度,即该字符串包含的字符个数。
输出结果:
The length of the string is 5.
示例 2:向字符串中插入字符
#include <stdio.h>
#include <string.h>
int main() {
char str[6] = "hello";
str[2] = 'L'; // 将第 3 个字符改为大写 L
printf("The modified string is %s.", str);
return 0;
}
代码解释:
- 可以使用下标来获取或修改一个字符串中的特定字符。
输出结果:
The modified string is heLlo.
通过以上示例,你应该已经掌握了 C 语言中字符串的声明和常见操作方法。