声明:由于本人水平有限,文章中难免有不准确和错误之处本人也很想知道这些错误,恳请读者批评指正,大家一起努力,加油!
本章主要介绍内存相关的库函数
目录
memcpy
作用介绍:将source中的num个字节拷贝到destination中(拷贝不重叠的内存)
函数的使用:
int main()
{
int arr1[10] = { 0 };
int arr2[] = { 1,2,3,4,5,6,7,8,9,10 };
memcpy(arr1, arr2, 20);
return 0;
}
模拟实现:
void* my_memcpy(void* dest, const void* src, size_t num)
{
assert(dest && src);
void* ret = dest;
while (num--)//拷贝num个字节
{
*(char*)dest = *(char*)src;
dest = (char*)dest + 1;
src = (char*)src + 1;
}
return dest;
}
int main()
{
int arr1[10] = { 0 };
int arr2[] = { 1,2,3,4,5,6,7,8,9,10 };
my_memcpy(arr1, arr2, 20);
return 0;
}
注意:在while循环内部很多人可能会想不明白为什么要这么写,就可能会写成下面这个样子
*(