目录一览💖
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的空间:
模拟实现:
效果:
结尾
至此,有关字符串函数的介绍以及模拟实现和内存函数的介绍和模拟实现就讲解完毕 ~ 🎈
如果大家觉得文章写的还不错,欢迎多多点赞收藏,这是对博主莫大的鼓励 ~ 🎨