模拟实现memcpy

模拟实现my_memcpy函数

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>//assert函数的头文件
void* my_memcpy(void* str, const void* dst, size_t num)
{	//void* str 传入要被赋值的数组的地址
	//void* dst 传入被复制的数组的地址
	assert(str&&dst);//保证不为空指针
	int* str_str = (int*)str;//将任意数据类型强转成需要的类型
	int* str_dst =  (int*)dst;//关键看给的是什么类型
	for (int i = 0; i < num; ++i)
	{
		str_str[i] = str_dst[i];//进行逐个copy
	}
	return dst;//返回指针类型
}
int main()
{
	int dst[4] = { 1, 1, 2, 3 };
	int str[4];
	my_memcpy(str, dst, 4);调用my_memcpy函数
	system("pause");
}
模拟实现memcpy模拟实现memcpy Electronic_rest 发布了65 篇原创文章 · 获赞 4 · 访问量 2030 私信 关注
上一篇:linux 编译引用动态库时,报GLIBC_2,14 not found的处理方法


下一篇:数组赋值函数memcpy()的用法