代码改变世界

自己实现memcpy

  钟铧若岩  阅读(26)  评论(0编辑  收藏  举报
复制代码
//memcpy()函数的模拟实现
#include<assert.h>
#include<stdio.h>
 
void* my_memcpy(void* destination, const void* source, size_t num)
{
    assert(destination);        //断言防止函数接收空指针进行操作
    assert(source);
 
    void* ret = destination;
    while (num--)
    {
        *(char*)destination = *(char*)source;
        destination = (char*)destination + 1;
        source = (char*)source + 1;
    }
 
    return ret;
}
 
int main()
{
    int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };
    int arr2[10] = { 0 };
    //使用my_memcpy()函数将arr1数组的前20字节(即前5个整形)拷进arr2中
    my_memcpy(arr2, arr1, 20);
 
    for (int i = 0; i < 10; i++)
        printf("%d\n", arr2[i]);
 
    return 0;
}
复制代码

 

相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示