1.函数的调用形式
void *memcpy(void *dst, const void *src, size_t count);
2.功能
对内部含有’\0’字符的非字符串数据的拷贝, 或者无’\0’字符的非字符串的拷贝。从src的起始位置复制count个字节到dst的内存起始位置。
3.实现
#include<stdio.h>
int main()
{
int arr1[10] = { 0 };
int arr2[] = { 1,2,3,4,5 };
int i = 0;
memcpy(arr1, arr2, 20);
for (i = 0; i < 10; i++)
{
printf("%d", arr1[i]);
}
return 0;
4.模拟实现
#include<stdio.h>
void my_memcpy(void *dest, void *src, size_t count)
{
while (count--)
{
*(char *)dest = *(char *)src;
++(char *)dest;
++(char *)src;
}
}
int main()
{
int arr1[10] = { 0 };
int arr2[] = { 1,2,3,4,5 };
int i = 0;
my_memcpy(arr1, arr2, 20);
for (i = 0; i < 10; i++)
{
printf("%d", arr1[i]);
}
return 0;
}