字符串 & 内存 函数的介绍与模拟实现

1.字符串函数的介绍与模拟实现

1.1 strlen的介绍与模拟实现

功能:获取字符串的长度
在这里插入图片描述
返回类型 : sizt_t 也就是 unsigned int 无符号整型
参数 : const 修饰的 char* 指针

在这里插入图片描述
模拟实现:
在这里插入图片描述

1.2 strcpy的介绍与模拟实现

功能: 拷贝一个字符串
在这里插入图片描述
返回类型:char* 指针
参数 : char* 指针的目的地 , const char* 指针的源头
在这里插入图片描述
模拟实现 :
在这里插入图片描述

1.3 strcmp的介绍与模拟实现

功能 :比较两个字符串 , 比较的是字符串的内容 ,不是长度 。 单位是字节
在这里插入图片描述
在这里插入图片描述
返回类型: str1 小于 str2 返回的是小于0的数 : -1
str1 等于 str2 返回的是等于0的数: 0
str1 大于 str2 返回的是大于0的数: 1

参数 : const char* 的str1 , const char* 的str2
在这里插入图片描述
模拟实现 :
在这里插入图片描述
在这里插入图片描述

1.4 strcat的介绍与模拟实现

功能 : 追加一个字符串 字符串追加函数
在这里插入图片描述
返回类型:char* 的指针 (起始打印地址)
参数 : char
的目的地指针 const char*的源头指针
在这里插入图片描述
模拟实现:
在这里插入图片描述
在这里插入图片描述

1.5 strstr的介绍与模拟实现

功能 : 查找字符串 返回的是相同子串的第一个出现的的地址
在这里插入图片描述
返回类型:char* 指针
参数 : const char* srt , const char * 需要查找的字符

具体实现 : 参考博主上一篇专门介绍此字符串的博文
博文传送门 :https://blog.csdn.net/xqs196301/article/details/120347615
在这里插入图片描述

2.内存函数 (memcpy + memmove )的介绍与模拟实现

2.1 memcpy 的介绍与模拟实现

功能: 在缓冲区间复制内容,不限类型,但只用于在内存空间不重叠情况下复制
在这里插入图片描述
因为memcpy可以实现不止字符串内容的复制。所以这里参数返回类型都是void*
返回类型 :void* 指针
参数:void* 目的地 ,void* 源头 ,size_t无符号整型的 大小 (单位是字节

在这里插入图片描述
模拟实现:
在这里插入图片描述
在这里插入图片描述

2.2 memmove的介绍与模拟实现

功能:用于内存空间重叠或者不重叠情况下的内容复制移动
在这里插入图片描述
在这里插入图片描述
返回类型 : void指针
参数:void
的目的地 ,void* 的源头,size_t的大小 (单位是字节)

在这里插入图片描述
这里我们实现把arr数组中的 1,2,3,4复制到3,4,5,6的空间:
在这里插入图片描述

模拟实现:
在这里插入图片描述
效果:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结尾

至此,有关字符串函数的介绍以及模拟实现和内存函数的介绍和模拟实现就讲解完毕 ~ 🎈
如果大家觉得文章写的还不错,欢迎多多点赞收藏,这是对博主莫大的鼓励 ~ 🎨

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值