模拟实现memcpy

目录

一、功能说明

my_memcpy手动复刻实现了库函数 memcpy 的基础功能,自定义 my_memcpy 将任意类型源内存的数据逐字节复制至目标内存地址,主函数中分别对整型数组、字符串数组进行内存拷贝测试,把整型数组 arr1 的数据完整复制到 arr2、字符串 str1 内容拷贝至 str2 并打印验证结果,以此验证自定义内存拷贝函数能够适配不同数据类型完成整块内存的无重叠复制。

二、代码展示

javascript 复制代码
#include <stdio.h>

#include <stddef.h>



//构造my_memcpy函数

void* my_memcpy(void* dest, const void* src, size_t n)

{

	char* dst = (char*) dest;

	const char* sour = (const char*) src;

	for(size_t i = 0; i < n; i++)

	{

		dst[i] = sour[i];

	}

	return dest;

}



int main()

{

	int arr1[] = {1, 2, 3, 4, 5};

	int arr2[5] = {0};

	//调用函数

	my_memcpy(arr2, arr1, sizeof(arr1));

	//输出结果

	printf("拷贝后 arr2:");

	for(int i = 0; i < 5; i++)

	{

		printf("%d ", arr2[i]);

	}

	char str1[] = "hello world";

	char str2[20] = {0};

	//调用函数

	my_memcpy(str2, str1, sizeof(str1));

	//输出结果

	printf("\n拷贝后 str2:%s\n", str2);

	return 0;

} 

三、运行效果展示

四、总结

该程序实现自定义内存拷贝函数my_memcpy,按字节完成内存复制,并分别拷贝整型数组与字符串验证函数效果。

相关推荐
地平线开发者5 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
学习星球8 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
alphaTao14 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid11214 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
顶点多余1 天前
那些在算法中适合巩固的知识点---1
java·前端·算法
罗西的思考1 天前
【Agentic RL / 强化学习框架】Molt 设计解读
人工智能·算法·机器学习
hahaha60161 天前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉
多弗朗皮卡丘1 天前
算法详解4:买卖股票的最佳时机系列(上)
算法
Brilliantwxx1 天前
【C语言】 初入嵌入式C语言复习(基础+进阶面试题)
c语言·开发语言
wuminyu1 天前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++