介绍👇👇
1.原址🔊🔊
2使用🔉🔉
2.1使源打印20个字节到,目的地
2.2内存显示
2.2从源的地址+2开始,打印20字节到目的地()
2.3但是如果重叠,拷贝请看下节介绍(memmove)
模拟实现
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
void* my_memcpy(void* dest, const void* src, size_t num)
//void :表示不限制数组
{
void* ret = dest;
assert(dest && src);
while (num--)
{
*(char*)dest = *(char*)src;
dest = (char*)dest + 1;
src = (char*)src + 1;
}
return ret;
}
int main()
{
int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };
int arr2[10] = { 0 };
my_memcpy(arr2, arr1 + 2, 20);
return 0;
}
总结🏃♂️🏃♂️🏃♂️
memcpy函数可以,任意类型的拷贝,但是不能重叠拷贝,重叠拷贝,需🉑要用memmove函数,功能比strcpy字符串拷贝🉑强大