模拟实现C语言库函数memcpy

首先,我们来看一下MSDN中对它的定义,函数类型,返回值。
memcpy
(定义)Copies characters between buffers.

(函数参数)void *memcpy( void *dest, const void *src, size_t count );

(返回值)memcpy returns the value of dest.

接下来看一下代码实现

#include<windows.h>
void* my_memcpy(void* dest,const void* str, size_t sz)
{
  assert(dest != NULL);
  assert(str != NULL);
    void* ret = dest;
    while (sz--)
    {
        *(char*)dest = *(char*)str;
            dest = (char *)dest + 1;
            str = (char *)str + 1;

    }
    return dest;
}
int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9};
    int arr1[3] = {3,4,5};
    my_memcpy(arr,arr1 , 2* sizeof(arr1[0]));
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/aixintianshideshouhu/article/details/81216770