📜  C-字符串(1)

📅  最后修改于: 2023-12-03 14:59:52.573000             🧑  作者: Mango

C-字符串介绍

在 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 语言中被广泛应用。在实际编程中,熟悉并掌握字符串的操作函数,可以为我们的开发和调试带来极大的便利。