自己实现内存操作函数memset(),memcmp(),memcpy(),memmove()
1.memset()内存设置函数(初始化)
void *my_memset(void* dest, int c, size_t count)
{
assert(dest != NULL);
char *pdest = (char *)dest;
while (count-->0)
{
*pdest++ = c;
}
return dest;
}
2.memcmp()内存比较函数
int my_memcmp(const char* str1, const char* str2, size_t count)
{
assert(str1 != NULL&&str2 != NULL);
const char *pstr1 = str1;
const char *pstr2 = str2;
int result = 0;
while (count-- > 0)
{
if ((result=*pstr1++-*pstr2++) != '\0')
break;
}
if (result > 0)
result = 1;
else if (result < 0)
result = -1;
return result;
}
3.memcpy()内存拷贝函数
内存拷贝函数是出题率最高的,在实现时需注意内存覆盖的问题
void *my_memcpy(void* dest, const void* src, size_t count)
{
assert(dest != NULL&&src != NULL);
char* pdest =(char*) dest;
const char* psrc =(const char*) src;
if (psrc > pdest || pdest >= psrc + count)
{
while (count--)
*pdest++ = *psrc++;
}
else
{
while (count--)
{
*(pdest + count) = *(psrc + count);
}
}
return dest;
}
4.memmove()内存移动函数
内存移动函数的实现方法完全跟内存拷贝函数实现方法一样,但在使用中还是有细小差别的。但在这里我们就不详细论述他们的差别了。
转载于:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/5679952.html
自己实现内存操作函数memset(),memcmp(),memcpy(),memmove()相关推荐
- C 中的内存操作函数-memcpy 等(to be continued)
文章目录 C中的内存操作函数 1.memcpy() 1.1 函数介绍 1.2 示例代码 1.3 Reference C中的内存操作函数 1.memcpy() 1.1 函数介绍 void *memcpy ...
- C语言程序设计 | 模拟实现内存操作函数:strncpy, strncat, strncmp, memcpy, memmove
模拟实现字符串和内存操作函数(二)目录: strncpy strncat strncmp strcmp memcpy memmove strncpy char* strncpy(char* dst, ...
- 【C进阶】之动态内存分配及内存操作函数
动态内存分配及内存操作函数 1 动态内存分配的介绍 2 malloc和free函数 3 测试代码 4 goto的使用场合,常用于出错处理 5 memset() 6 memcpy() 7 memcmp( ...
- 字符串转内存c语言,【一起学C】C语言面试题必考:字符串操作函数,内存操作函数实现...
本帖最后由 奉聪 于 2017-1-25 14:54 编辑 *******前言******* 我数一下,我发了几个帖子,1.2.3? 哈哈哈,没几个哈,感谢吾爱,让我学到了很多,乐于分享,共同进步! ...
- C语言——常见的字符串函数+内存操作函数的介绍及实现
文章目录 前言 一.字符串函数 1.求字符串长度 strlen 2.长度不受限制的字符串函数strcpy.strcat.strcmp 字符串拷贝 strcpy 字符串追加拷贝 strcat 字符串比较 ...
- C语言--内存操作函数memmove
文章目录 一.C语言--内存操作函数memmove 1.1 memmove函数介绍 1.2 memmove使用示例 二.模拟实现memmove函数 一.C语言–内存操作函数memmove 1.1 me ...
- 冰冰学习笔记:内存操作函数
在前面的章节中我们介绍了字符操作函数的用法,用以实现字符串的复制,连接,比较,查找等操作.但是C语言中并非只有字符串需要这些操作,其他类型的变量也会用到复制,比较等操作.此时,字符串操作函数将不再适用 ...
- linux c 内存操作函数 简介
bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include<string.h> 定 ...
- c语言 内存清除函数,C语言内存初始化函数MEMSET的用法
memset的功能是将内存块所指向的某一块内存中的每个字节的内容全部设置为指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作,其返回值为指向被初始化内存块的指针,它对 ...
最新文章
- SpringBoot+tomcat+web
- LipNet与ICLR评委互怼始末:名气大又怎样,还不是被拒绝了
- golang数据运算符
- 学生信息管理C语言 密码,求学生信息管理系统C语言版
- Python 5种方法实现单例模式
- ktor框架用到了netty吗_如何使用 Ktor 快速开发 Web 项目
- android键盘移动光标,在Android键盘上完成键
- 设计模式笔记-命令模式
- SQL存储过程跨服务器访问
- 阿里云SDK手册之java SDK
- Date类型之组件方法
- html写自动关机的代码,让电脑自动关机代码是什么
- ios动态效果实现翻页_iOS实现日历翻页动画
- led指示灯电路图大全(八款led指示灯电路设计原理图详解)
- 树莓派4b ubuntu 设置屏幕热插拔
- .texi文件如何转成pdf
- 15分钟详解 Python 安全认证的那些事儿~
- java代码实现身份证第18位的计算和验证身份证号码是否是真实有效.
- python 读写h5py文件(转载)
- CTF-Misc-二维码(一)
热门文章
- python官网下载安装教程-各种版本的Python下载安装教程
- 编程python用什么软件比较好-新手入门Python编程的8个实用建议
- python编程爱心-使用Python画出小人发射爱心的代码
- 关于python的一些好的书籍推荐-荐书||关于Python的一些书籍推荐
- 如何自学python爬虫-怎样入门学习Python爬虫?
- python3安装步骤mac-Mac 安装Python3
- python语言必背代码-Python新手必须知道的25条知识点
- python中文读音ndarray-NumPy与ndarray简介(转)
- python while循环语句-Python
- python处理大量excel数据-使用python将大量数据导出到Excel中的小技巧分享