1、字符串:是字符组成的复杂类型,在C语言中,用字符数组表示字符串,字符数组允许直接存放字符串
字符串的定义形式和整型数组相同:
char str[10];
该str数组是一个一维数组,可以存放10个字符或者一个长度不大于9的字符串。因为在字符数组中,包含一个‘\0’字符。
在C语言中,字符串是借助于字符类型数组来存放的,并规定,以字符‘\0'作为字符串结束的标志。'\0'的ASCII码是0
字符串的定义和接收:
/字符数组在这里被看做是多个字符的集合
char str1[20] = {'z','h','o','n','g','g','u','o'};
//字符数组在这里被看做是一个字符串变量
char str2[20] = "zhognguo";
//接收字符串时,字符串变量名的前面不加取址符&,在输入时不能有空格,否则空格后面的内容将不被赋给该字符串变量
char str3[20];
scanf("%s",str3);
2、在C标准库中提供了各类处理字符串的函数,在头文件string.h中。
常用的字符串处理函数有:
strlen() 获取字符串长度
strcpy() 字符串复制
strcat() 字符串连接
strcmp() 字符串比较
//strlen()函数,求取字符串长度,赋给i
char str1[]="hello";
int i;
i = strlen(str1);
//strcpy()函数,实现字符串的复制,将str2的内容复制给str3.,str2的内容不变
char str2[]="world";
char str3[20];
strcpy(str3,str2);
//strcat()函数,实现字符串的连接,将str5的内容连接到str4的后面 ,str5的内容不变
char str4[]="hello";
char str5[]="world";
strcat(str4,str5);
//strcmp()函数,实现字符串的比较。将str6的内容和China比较,相等,返回0
//大于,返回1;等于,返回0;小于,返回-1。在C语言中,strcmp()函数先比较的是字母的大小,然后是字符串的长度
char str6[]="China";
strcmp(str6,"China");