#include<stdio.h>
#include<assert.h>
//模拟实现memcpy void *memcpy(void *str1, const void *str2, size_t n)
void* my_memcpy(void* str1, const void* str2, int n)
{
void* ret = str1;
assert(str1 && str2);
while (n--)
{
*(char*)ret = *(char*)str2;
ret = (char*)ret + 1;
str2 = (char*)str2 + 1;
}
}
int main()
{
int arr1[3] = {0};
int arr2[] = { 4,5,6 };
my_memcpy(arr1, arr2, 9);
for (int i = 0; i < 3; i++)
{
printf("%d ", arr1[i]);
}
return 0;
}
(该函数返回一个指向目标存储区 str1 的指针。)