c语言基础—字符串基础
- 简介
- 正文
简介
C语言中的字符串是一串字符组成的数组。在C语言中,字符串是以null字符 (‘\0’) 结尾的字符数组。在C语言中,字符串是一种特殊的字符数组,也可以被视为一个字符指针。
正文
C语言中,字符串的声明和定义可以通过字符数组来实现。例如:
char str[10]; // 声明一个字符数组
char str[] = "Hello"; // 声明并初始化一个字符串
在C语言中,可以使用一系列的字符串函数来处理和操作字符串。以下是一些常用的字符串函数:
strlen()
:用于计算字符串的长度,不包括null字符。strcpy()
:用于将一个字符串复制到另一个字符串中。strcat()
:用于将一个字符串连接到另一个字符串的末尾。strcmp()
:用于比较两个字符串是否相等。strchr()
:用于在字符串中查找某个字符的第一次出现的位置。strstr()
:用于在字符串中查找某个子串的第一次出现的位置。
下面是一些示例代码,演示了如何使用这些字符串函数:
#include <stdio.h>
#include <string.h>
int main() {
char str1[10] = "Hello";
char str2[10] = "World";
char str3[10];
// 计算字符串的长度
printf("Length of str1: %d\n", strlen(str1));
// 复制字符串
strcpy(str3, str1);
printf("str3: %s\n", str3);
// 连接字符串
strcat(str1, str2);
printf("str1: %s\n", str1);
// 比较字符串
if (strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal\n");
} else {
printf("str1 and str2 are not equal\n");
}
// 查找字符
char ch = 'o';
char *ptr = strchr(str1, ch);
if (ptr != NULL) {
printf("Found '%c' at position %d\n", ch, ptr - str1);
} else {
printf("'%c' not found in str1\n", ch);
}
// 查找子串
char *substr = "orl";
ptr = strstr(str1, substr);
if (ptr != NULL) {
printf("Found '%s' at position %d\n", substr, ptr - str1);
} else {
printf("'%s' not found in str1\n", substr);
}
return 0;
}
输出结果为:
Length of str1: 5
str3: Hello
str1: HelloWorld
str1 and str2 are not equal
Found 'o' at position 4
Found 'orl' at position 7