霜淮子的c语言程序设计,大家可以通过阅读我的文章学习c语言程序设计的一些基础知识,作者水平有限,如果发现错误,评论区留言!万分感谢!
欢迎订阅专栏《c语言程序设计》
目录
前言
在计算机处理信息的过程中,经常会与多个字符打交道,如姓名、地址、身份证号设备名称、规格等。常规的输入如canf(),cin>>可以用回车键、空格键作输入结束标记、这样无法输入字符串中的空格,为此、c语言专门定义了字符串常量的概念,并开发了一些便于字符串处理的I付出函数,
9.1、字符串
9.1.1、字符串
- 以0(整数0)结尾的一串字符
- 0或‘\0‘的hi一样的,但是和’0‘不同
- 0标志着字符串结束,但它不是字符串的一部分
- 计算字符串长度的时候不包含这个0
- 字符串以数组的形式存在,以数组或指针的形式访问
- 更多是以指针的形式
- string.h里有很多处理字符串的函数
- c语言的字符是以字符数组的形态存在
- 不能用运算符对字符串做运算
- 通过数组的方式可以遍历字符串
9.1.2、字符串变量
char*是字符串?
- 字符串可以表达为char*的形式
- char*不一定是字符串
- 本意是指向字符的指针,可能指向的是字符的数组(就像int *一样)
- 只有它所指的字符数组有结尾的0,才能说它指的是字符串
9.2、字符串函数
9.2.1、单字符输入输出
用puture和getchar
putchar
- int putchar(int c)
- 向标准输出写一个字符
- 返回写了几个字符,EOF(-1)表示写失败
getchar
- int getchar(void)
- 从标准输入读入一个字符
- 返回类型是int是为了返回EFO(-1)
9.2.2、字符串函数strlen
size_t strlen(const char*s);
返回s的字符串长度(不包括结尾的0)
9.2.3、字符串函数strcmp
int strcmp(const char *s1,const char *s2);
比较两个字符串
9.2.4、字符串函数strcpy
char*strcpy(char*restrict dst,const char*restrict src);
把src的字符拷贝到dst
返回dst
9.2.5、字符串函数strcat
char*strcat(char*restrict s1,const char *restrict s2);
把s2拷贝到s1的后面,接成一个长的字符串
返回s1
s1必须具有足够的空间
-END-