C语言学习(十二)—字符串
在C语言中,字符串实际上是使用null字符’\0’终止的一维字符数组.因此,一个以null结尾的字符串,包含了组成字符串的字符
下面的声明和初始化创建了一个’Hello’字符串.由于在数组的末尾存储了空字符,所以字符数组的大小比单词"Hello"的字符数多一个.
一. 字符串的初始化
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
依据数组初始化规则,可以把上面的语句写成以下语句:
char greeting ="hello"; //不需要把null字符放在字符串常量的末尾
以下是C中定义的字符串的内存表示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZyiqV4rM-1591167715251)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20200603143050632.png)]
二. 操作字符串的函数
strcpy(s1,s2); //复制字符串s2到字符串s1
strcat(s1,s2); //连接字符串s2到字符串s1的末尾
strlen(s1); //返回字符串s1的长度
strcmp(s1, s2); //如果s1和s2是一样的,则返回0,如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch); //返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2); //返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
指向字符串 s1 中字符串 s2 的第一次出现的位置。