📅  最后修改于: 2023-12-03 15:00:12.253000             🧑  作者: Mango
在C语言中,字符串是一种特殊的数组。它是由一系列字符组成的,以空字符 '\0' 结尾,表示字符串的结束。当我们定义一个字符串时,可以使用字符数组来存储。
char myString[20] = "Hello World!";
以上定义了一个数组 myString,长度为20,用于存储字符串 "Hello World!"。注意,数组最后一个元素必须为 '\0',这也是字符串的结束标志。
C提供了一组库函数,用于操作字符串。以下是一些常用的字符串函数:
将源字符串 src 复制到目标字符串 dest 中。
char str1[20], str2[20];
strcpy(str1, "Hello");
strcpy(str2, str1);
以上代码将 "Hello" 复制到 str1 中,并将 str1 复制到 str2 中。
获取字符串的长度,不包括末尾的空字符。
char str[20] = "Hello";
int len = strlen(str); // len 的值为 5
将源字符串 src 连接到目标字符串 dest 的末尾。
char str1[20] = "Hello";
char str2[20] = "World";
strcat(str1, str2);
以上代码将 "World" 添加到 "Hello" 的末尾,生成字符串 "HelloWorld"。
比较两个字符串 s1 和 s2 是否相同。
char str1[20] = "Hello";
char str2[20] = "World";
int result = strcmp(str1, str2); // result 的值为负数,因为 "Hello" 小于 "World"
以上代码将比较两个字符串,由于 "Hello" 比 "World" 小,所以 result 的值为负数。
C语言也支持存储多个字符串的数组。以下是一个字符串数组的例子:
char names[5][20] = {
"Alice",
"Bob",
"Charlie",
"David",
"Emily"
};
以上定义了一个长度为5、每个元素长度为20的字符串数组。我们可以通过下标访问每个字符串:
printf("%s\n", names[0]); // 输出 "Alice"
printf("%s\n", names[1]); // 输出 "Bob"
C中的字符串和字符串数组是非常常用的类型。掌握字符串的基本操作,有助于编写更加高效的C程序。