C语言中的字符串是以字符数组的形式存储的,其本质是一个由字符组成的数组,字符串的长度是以字符数组一个字符的位置来确定的,一般而言,一个字符的位置是字符串长度减1。
定义字符串
在C语言中定义字符串的方法有以下几种:
- 使用双引号:char str[] = "Hello World!";
- 使用字符数组:char str[13] = {'H','e','l','l','o',' ','W','o','r','l','d','!','\0'};
- 使用指针:char *str = "Hello World!";
操作字符串
C语言中提供了一些函数来操作字符串,主要有以下几种:
- strlen():计算字符串的长度;
- strcpy():复制字符串;
- strcat():连接字符串;
- strcmp():比较字符串;
- strstr():查找字符串;
- strchr():查找字符;
- strrev():反转字符串;
- strset():将字符串中的某个字符设置为指定的字符;
- strupr():将字符串中的小写字母转换为大写字母;
- strlwr():将字符串中的大写字母转换为小写字母;
- strncat():连接字符串,但是有长度限制;
- strncmp():比较字符串,但是有长度限制;
- memset():将字符串中的某个字符设置为指定的字符,但是有长度限制;
- memcpy():复制字符串,但是有长度限制;
例子
#include#include int main() { char str1[20] = "Hello"; char str2[20] = "World!"; char str3[20]; // 复制 str1 到 str3 strcpy(str3, str1); printf("strcpy( str3, str1) : %s\n", str3); // 连接 str1 和 str2 strcat(str1, str2); printf("strcat( str1, str2): %s\n", str1); // 连接后,str1 的总长度 int len = strlen(str1); printf("strlen(str1) : %d\n", len ); return 0; }
上面的代码使用strcpy()函数将str1的内容复制到str3,使用strcat()函数将str1和str2连接起来,使用strlen()函数计算出str1的总长度。