memcpy函数应该拷贝不重叠的内容,memcpy函数是正序拷贝。
memmove函数可以处理内存重叠的情况,memmove函数是逆序拷贝。
当dest在src左边且重叠,只能从前向后拷贝。
当src在dest右边且重叠,只能从后向前拷贝。
代码模拟实现memmove函数如下
memcpy只要不拷贝重叠内存就可以了,但是memcpy在VS这种可以拷贝重叠内存,因为在VS中的memcpy库函数相当于memmove。
memcmp函数的功能与 strcmp的功能相似,不过memcmp能适用的类型没有限制,这里不多做阐述。
下面我们讲一下memset函数,memset的特点是以字节为单位设置内存。
头文件为<string.h>
功能实现如下