memcpy函数实现
memcpy: 内存拷贝函数 void *memcpy(void *dest ,const void *scr,size_t n); 从src所指向的内存地址的起始位置开始拷n个字节到目标dest所指的内存地址的起始位置中 。返回dest的指针。头文件#include<srtring.h>
1.src和dest所指的内存区域可能重叠,但是如果src和dest所指的内存区域重叠,那么这个函数并不能够确保src所在重叠区域在拷贝之前不被覆盖。而使用memmove可以用来处理重叠区域。
2.src和dest都不一定是数组,任意的可读写的空间均可
void* my_memcpy(void *dest, const void *src, size_t n)
{
void *ret = dest;
while (n--)
{
*(char*)dest = *(char*)src;
dest = (char*)dest + 1;
src = (char*)src + 1;
}
return (ret);
}
memmove函数实现
memmove: void *memcpy(void *dest ,const void *scr,size_t n);