【C语言学习】之字符数组与字符串处理函数

本文详细介绍了C语言中字符数组的初始化方法,以及字符串的储存方式和结束标志。重点讲解了gets()、puts()、strcpy()、strcmp()和strlen()等字符串处理函数的功能、原型和使用方法。
摘要由CSDN通过智能技术生成

1.字符数组

1.字符数组的初始化

1.单字符形式

char a[3]={'a','b','c'}                                定义一个字符型一维数组,数组名a,三个下表变量a,b,c

char b[][3]={'a','b','c','d','e','f','g'}             定义一个二维字符型数组,3行三列,字符为a,b,c,d,e,f,g,0,0,0(没有定义的,自动调整为空字符)

char c[5]={65,66,67};                             定义一维字符数组,五个下标变量:相当于A,B,C,0,0没有定义的自动置为0

和其他类型数组的初始化形式一样

2.字符串形式

char a[10]="string"                                数组a分配空间的时候分配10个字节,string存入前面7个字节(因为最后要多存一个/n),剩下三个自动置为0(空字符)

char b[]="string"                                    数组b只分配7个字节(按需分配)

char c[3][8]={"abc","123","string"}        二维 数组c分配24个字节,每个一维数组8个字节,一维数组a[0]存储abc,a[1]存储123,a[2]存储string

对于字符串形式的初始化,能够保证数组中储存的是一个或几个字符串,将来可以用puts(),printf()函数以字符串形式输出他们,单字符形式的初始化不能保证所存存储的是一个字符串,也许只是一个字符序列,只能用循环逐个输出字符

2.字符串的储存和字符串结束的标志

将字符串的每个字符的ASCII码按顺序储存到内存的一段连续的空间内,最后添加一个空字符\n(0)表示结束

2.字符串处理函数

1.字符串输入函数gets()

1.函数原型

char*gets(char*s)

2.函数功能

从键盘读取若干字符(以换行符作为读取结束的标志位),存入s所指内存区域,并在最后一行填上\n

3.返回值

输入成功返回指针s,不成功返回NULL

2.字符串输出函数puts()

1.函数原型

int puts(char*s)

2.函数功能

将内存中以s起始,空字符为结束标志位的字符串输出,输出后自动换行

3.返回值

换行符或者0,失败则为EOF

3.字符串连接函数stract()

1.函数原型

char*stract(char*p1,char*p2)

2.功能

将内存中p2为起始的字符串连接到以p1为起始的字符串的后面,组成一个字符串,最后面有一个空字符

3.返回值

返回连接后字符串的首地址,即p1

4.字符串复制函数strcpy()

1.函数原型

char*strcpy(char*p1,char*p2)

2.函数功能

将内存中以p2为起始地址的字符串复制到p1所指的内存区域,使之成为一个字符串,最后有空字符,p1所指的原有区域的内容被覆盖

3.返回值

返回p1

5.字符串比较函数strcmp()

1.函数原型

int*strcmp(char*p1,char*p2)

2.函数功能

将内存中以p1为首地址的字符串和以p2为首地址的字符串逐个字符进行比较,直到遇到两个不同的字符或者同时遇到两个空字符

3.返回值

如果遇到不同的字符,前者大则返回正数,前者小则返回负数,如果同时遇到两个空字符,返回0

6.字符串长度测试函数

1.函数原型

int strlen(char*str)

2.函数功能

测试内存中以str为起始地址的字符串中有效字符的个数,即空字符之前有多少个字符

3.返回值

字符串的长度

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值