目录
  • 前言
  • 模拟实现简单的内存函数
    • 1.memcpy-内存拷贝函数(应该拷贝不重叠的内存)
    • 2.memmove-内存拷贝函数(可以拷贝重叠的内存)
  • 总结

    前言

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

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

    模拟实现简单的内存函数

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

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

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

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

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

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

    调试结果

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

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

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

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

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

    调试结果

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

    总结

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

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。