模拟实现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");
}
Electronic_rest
发布了65 篇原创文章 · 获赞 4 · 访问量 2030
私信
关注