c - 如何使用 memcpy 将一个数组复制到另一个数组?
问题描述
for (i = 0; i < n1; i++)
L[i] = arr[l + i];
因为要复制一个大数组,听说需要用到memcpy。
解决方案
memcpy 顾名思义,就是复制内存区域。是C
下的标准函数string.h
。
void *memcpy(void *dest, const void *src, size_t n);
描述:
该函数将字节从内存区域memcpy()
复制到内存区域。内存区域。如果内存区域确实重叠,请使用 memmove(3)。该函数返回一个目标。有关更多详细信息,请转到 man7:memcpyn
src
dest
must not overlap
memcpy()
pointer to
所以在你的情况下,电话是:
memcpy(L, &arr[l], n1*sizeof(arr[l]));
一个数组元素的大小是:
sizeof(arr[l])
确保(l+n1)
不超过数组边界!它是你的责任。
推荐阅读
- assembly - 汇编 SIMD 指令在 xmm 寄存器中移动 64 位寄存器?
- snowflake-cloud-data-platform - 雪花:如果在加载时大于列大小,如何截断数据?
- javascript - 指定组件道具的默认值
- node.js - 期望被测函数内部模拟的解析值
- jquery - jQuery 没有在我的 webpack encore 上定义
- arrays - 按日期排序对象数组的问题
- wordpress - 订单后的 Wordpress 生成 pdf 证书但不生成发票
- angular - 将组件中的数据绑定到 Html
- java - 从 BE 访问不在 DOM 中的变量
- node.js - 错误:没有为(模块路径)找到有效的导出主程序