C 模拟函数memcpy

1.题目

实现memcpy

2.程序代码

memcpy函数的功能是从源所指的内存地址的起始位置开始拷贝n个字节到目标t所指的内存地址的起始位置中

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <Windows.h>
#include <assert.h>

void* my_memcpy(void *obj, const void *ori, size_t count)
{
    void *ret = obj;//创建一个临时变量来存放obj的首地址

    while (count--)//执行count次循环
    {
        *(char *)obj = *(char *)ori;
        ++(char *)obj;
        ++(char *)ori;
    }

    return ret;
}

int main()
{
    int arr1[10] = { 0 };
    int arr2[] = { 1, 2, 3, 4, 5, 6, 7, 8};
    int i = 0;

    my_memcpy(arr1, arr2, 32);

    for (i = 0; i < 10; i++)
    {
        printf("%d ", arr1[i]);
    }

    system("pause");
    return 0;
}

3.执行结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/k_a_irving/article/details/80215659
今日推荐