使用指针将数组分配给另一个数组

时间:2016-02-28 11:51:06

标签: c arrays pointers

int arr[100],temp1[n1],temp2[n2]; temp1 = arr[l];
temp2 = arr[j];

我应该将长度为100的数组的一部分分配给两个数组 使用指针而不使用任何循环

ex: - l = 10,j = 43,n1 = 12,n2 = 13现在必须从第10个元素开始给出temp1中的12个元素,并且从43开始必须将13个元素赋予temp2

但是使用上面的代码会产生错误并假设在声明数组之前正确地给出了l,j,n1,n2。所以建议我在没有循环和使用指针的情况下执行此操作的代码。

1 个答案:

答案 0 :(得分:1)

您不能在C中分配数组,更不用说从中分配范围了。而是将这些数组的内存复制到新位置:

memcpy

这是使用memcpy函数完成的。使用&array[firstIndex]array+firstIndex计算要复制的块的初始地址和目标阵列中的初始地址。使用n*sizeof(array[0])确定要复制的字节数。