在C语言中,字符串类型被定义为字符数组,即一串以空字符'\0'结尾的字符集合。在C库函数中,字符串操作相关的函数以"str"开头,比如strcpy、strcat、strcmp等。
其中,strcat函数可以将一个字符串追加到另一个字符串的结尾;strcpy函数可以将一个字符串复制到另一个字符串;strcmp函数可以比较两个字符串的大小。
在C语言中,字符串的定义和初始化可以使用字符数组来实现。具体代码如下:
```c
char str[] = {'h', 'e', 'l', 'l', 'o', '\0'}; // 用数组初始化字符串
char str[6] = "hello"; // 直接用字符串来初始化字符数组
```
需要注意的是,数组必须要定义足够容纳字符串内所有字符,同时字符串最后必须以'\0'结尾,否则会导致字符串操作函数无法正常运行。
C语言内置了许多可操作字符串的库函数,常见的有:
1、strcpy(char *dest, const char *src):将src指针所指向的字符串复制到dest所指向的位置,并返回dest指针。
2、strcat(char *dest, const char *src):将src指针所指向的字符串复制到dest指针所指向的位置,并返回dest指针。
3、strlen(const char *str):返回字符串str的长度。
4、strcmp(const char *str1, const char *str2):比较两个字符串的大小,如果两个字符串相等返回0,不相等返回1或-1。
5、strchr(const char *str, int c):在字符串str中找到字符c第一次出现的位置。
假设我们要将字符串中的小写字母转化为大写字母,代码如下:
```c
#include
#include
int main() {
char str[] = "hello world";
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] -= 32;
}
}
printf("%s", str);
return 0;
```
运行该程序后,输出结果为"HELLO WORLD"。