📅  最后修改于: 2023-12-03 14:59:52.573000             🧑  作者: Mango
在 C 语言中,字符串是非常常用的数据类型,主要用于存储和操作文本。在 C 语言中,字符串被实现为字符数组。通常情况下,一个字符串由一些连续的字符构成,以一个特殊的字符 '\0' 结尾,也被称为空字符,表示字符串的结束。
字符串的声明有两种方式,一种是字符数组,另一种是指向字符的指针。
char str1[25] = "Hello World!";
char *str2 = "Hello World!";
其中,str1
是一个字符数组,大小为 25,存储了 "Hello World!" 这个字符串,同时由于 str1 是字符数组,因此可以修改其内容。而 str2
则是一个指针,指向存储在内存的字符串 "Hello World!",但不能修改字符串的内容。
在 C 语言中,输出字符串需要使用 printf()
函数。
printf("This is a string: %s\n", str1);
其中,"%s" 是格式字符串,表示输出一个字符串,还需要指定输出的字符串是哪个。
输入字符串需要使用 scanf()
函数,但需要注意,scanf()
函数不能输入空格或制表符,只能输入不含空格的字符串。
char str3[25];
scanf("%s", str3);
如果想要输入含有空格的字符串,可以使用 fgets()
函数。
char str4[25];
fgets(str4, 25, stdin);
其中,stdin
表示从标准输入中读取数据,也可以使用文件指针。
在 C 语言中,可以通过多个字符串操作函数来处理字符串,其中最常用的是 strlen()
、strcpy()
、strcat()
和 strcmp()
。
strlen()
strlen()
函数用于计算字符串的长度,不包括字符串结束标志 "\0"。
char str5[] = "Hello World!";
int len = strlen(str5);
strcpy()
strcpy()
函数用于将一个字符串复制到另一个字符串中。
char str6[25];
strcpy(str6, str5);
strcat()
strcat()
函数用于将一个字符串连接到另一个字符串的末尾。
char str7[50] = "Hello";
strcat(str7, " world!");
strcmp()
strcmp()
函数用于比较两个字符串的字典序大小。
char str8[] = "hello";
char str9[] = "world";
int cmp = strcmp(str8, str9);
其中,如果返回值小于 0,则表示字符串 1 小于字符串 2,如果返回值等于 0,则表示两个字符串相等,如果返回值大于 0,则表示字符串 1 大于字符串 2。
C 字符串作为一种重要的数据类型,在 C 语言中被广泛应用。在实际编程中,熟悉并掌握字符串的操作函数,可以为我们的开发和调试带来极大的便利。