C语言模拟内存函数分析之mencpy与memmove

 更新时间:2022年03月16日 11:19:02   作者:K稳重  
这篇文章主要介绍了C语言详解如何模拟内存函数,用到了mencpy与memmove两个函数,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

前言

内存是CPU与外存进行沟通的桥梁。

在冯·诺依曼计算机结构中,存储器是计算机的存储部件,是信息存储的核心,用来存放程序和数据。 存储器分为内存(内存储器、主存储器)和外存(外存储器、辅助存储器)。 CPU能够直接访问的存储器是内存。外存用于帮助主存记忆更多的信息,外存内的信息必须调入内存后,才能被CPU所使用。因此,内存是CPU与外存进行沟通的桥梁。

模拟实现简单的内存函数

1.memcpy-内存拷贝函数(应该拷贝不重叠的内存)

函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。

这个函数在遇到 '\0' 的时候并不会停下来。

如果source和destination有任何的重叠,复制的结果都是未定义的。

调试结果

2.memmove-内存拷贝函数(可以拷贝重叠的内存)

 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。 如果源空间和目标空间出现重叠,就得使用memmove函数处理。

调试结果

总结

上述简单模拟实现了两个内存函数的使用,相信大家都学会了。如果上述文章有任何问题 ,欢迎大佬们提出质疑,我会虚心学习和改正,最重要的是能共同进步,共同成长,学习好编程。

到此这篇关于C语言模拟内存函数分析之mencpy与memmove的文章就介绍到这了,更多相关C语言 mencpy内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言数据结构中定位函数Index的使用方法

    C语言数据结构中定位函数Index的使用方法

    这篇文章主要介绍了C语言数据结构中定位函数Index的使用方法的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下
    2017-10-10
  • C++中list的用法实例讲解

    C++中list的用法实例讲解

    list是顺序容器的一种,list是一个双向链表,使用list需要包含头文件list,这篇文章主要给大家介绍了关于C++中list的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • 字典树的基本知识及使用C语言的相关实现

    字典树的基本知识及使用C语言的相关实现

    这篇文章主要介绍了字典树的基本知识及使用C语言的相关实现,这也是ACM等计算机考试和竞赛题目的基本知识,需要的朋友可以参考下
    2015-08-08
  • C/C++实现经典象棋游戏的示例代码

    C/C++实现经典象棋游戏的示例代码

    中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史。本文将利用C++实现这一经典游戏,快跟随小编一起学习一下吧
    2022-06-06
  • 浅析VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等

    浅析VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} $

    这篇文章主要介绍了VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Linux系统中C语言编程创建函数fork()执行解析

    Linux系统中C语言编程创建函数fork()执行解析

    最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解。现总结如下
    2013-04-04
  • C语言中的三种循环语句

    C语言中的三种循环语句

    这篇文章主要介绍了C语言中的三种循环语句,在C语言中循环可分为3中,while循环、do - while循环、for 循环。下面小编就来为大家讲解这三种循环语句,需要的朋友可以参考一下,希望对你有所帮助
    2021-10-10
  • 详细聊一聊algorithm中的排序算法

    详细聊一聊algorithm中的排序算法

    <algorithm>是C++标准程序库中的一个头文件,定义了C++ STL标准中的基础性的算法(均为函数模板),下面这篇文章主要给大家介绍了关于algorithm中排序算法的相关资料,需要的朋友可以参考下
    2022-06-06
  • 70行C语言代码实现贪吃蛇

    70行C语言代码实现贪吃蛇

    这篇文章主要为大家详细介绍了70行C语言代码实现贪吃蛇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • C++实现公司人事管理系统

    C++实现公司人事管理系统

    这篇文章主要为大家详细介绍了C++实现公司人事管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论