首页 > 解决方案 > 如何使用 memcpy 将一个数组复制到另一个数组?

问题描述

for (i = 0; i < n1; i++) 
   L[i] = arr[l + i]; 

因为要复制一个大数组,听说需要用到memcpy。

标签: cmemcpy

解决方案


memcpy 顾名思义,就是复制内存区域。是C下的标准函数string.h

void *memcpy(void *dest, const void *src, size_t n); 

描述:

该函数将字节从内存区域memcpy()复制到内存区域。内存区域。如果内存区域确实重叠,请使用 memmove(3)。该函数返回一个目标。有关更多详细信息,请转到 man7:memcpynsrcdestmust not overlapmemcpy()pointer to

所以在你的情况下,电话是:

memcpy(L, &arr[l], n1*sizeof(arr[l]));

一个数组元素的大小是:

sizeof(arr[l])

确保(l+n1)不超过数组边界!它是你的责任。


推荐阅读