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

前言

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

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

模拟实现简单的内存函数

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

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

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

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

C语言模拟内存函数分析之mencpy与memmove_第1张图片

调试结果

C语言模拟内存函数分析之mencpy与memmove_第2张图片

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

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

C语言模拟内存函数分析之mencpy与memmove_第3张图片

调试结果

C语言模拟内存函数分析之mencpy与memmove_第4张图片

总结

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

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

你可能感兴趣的:(C语言模拟内存函数分析之mencpy与memmove)