当前位置:主页 > 软件编程 > C代码 >

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

时间:2022-07-09 09:35:55 | 栏目:C代码 | 点击:

前言

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

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

模拟实现简单的内存函数

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

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

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

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

调试结果

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

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

调试结果

总结

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

您可能感兴趣的文章:

相关文章