void* memcpy(void* destination,const void* source,size_t num)
*函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置
*这个函数在遇到\0的时候并不会停下来
*如果source和destination有任何的重叠,复制的结果都是未定义的(出错)
void* my_memcpy(void* dest, const void* src, size_t num)
{
void* ret = dest;//记录初始位置,防止之后dest被修改找不到原位置
assert(dest && src);
while (num--)
{
*(char*)dest = *(char*)src;
++(char*)dest;
++(char*)src;
}
return ret;
}
int main()
{
int arr[] = { 1,2,3,4,5 };
int arr1[5] = { 0 };
memcpy(arr1, arr, sizeof(arr));
return 0;
}