C 字符串

  • Post category:C

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 函数来比较两个字符串是否相等。例如,以下代码将比较 str1str2 是否相等:

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 语言中字符串的声明和常见操作方法。