在C语言的基本数据类型中没有没有字符串变量,一般以字符数组的形式给出。
1、字符串数组的初始化
char c[] = {‘I‘, ‘ ‘, ‘a‘, ‘m‘, ‘h‘, ‘a‘, ‘p‘, ‘p‘, ‘y‘};
char c[] = "I am happy";
区别:第一种方式字符串长度为10,内存中占10*sizeof(char)个字节,第二种方式是以字符串形式表示,有一个字符串结束字符‘\0‘,内存中占11*sizeof(char)个字节。
2、字符数组的输入输出
%c,一个一个字符输出;
%s,整个字符串一次输入输出。
注意:
printf("%s",c);这里是字符数组名,不是数组元素。
scanf("%s",c);这里字符数组名以表示首地址,不需加&。
3、字符串处理函数
CodeBlocks中使用需添加string.h
函数 | 一般形式 | 功能 |
puts | puts(字符数组) | 将一个字符串输出到终端 |
gets | gets(字符数组) | 从终端输入一个字符串到字符数组 |
strcat | strcat(字符数组1,字符数组2) | 连接两个字符数组中的字符串,把字符串2接到字符串1的后面,注意字符串1必须足够大。 |
strcpy | strcpy(字符数组1,字符串2) | 将字符串2复制到字符数组1中去。 |
strncpy | strncpy(字符数组1,字符串2,n) | 将字符串2中前n个字符复制到字符数组1中去。 |
strcmp | strcmp(字符串1,字符串2) | 比较字符串1和字符串2,=,则函数值为0;>,则返回一个正整数;<,则返回一个负整数。 |
strlen | strlen(字符数组) | 函数的值为字符串中的实际长度(不包括‘\0‘在内) |
strlwr | strlwr(字符串) | 将字符串中大写字母换成小写字母 |
strupr | strupr(字符串) | 将字符串中小写字母换成大写字母 |