int arr[100],temp1[n1],temp2[n2]; temp1 = arr[l];
temp2 = arr[j];
我应该使用指针将长度为100的数组的某些部分分配给两个数组,而不使用任何循环
例如:-l = 10,j = 43,n1 = 12,n2 = 13现在必须从第10个元素开始将数组中的12个元素赋给temp1,并且从43开始必须将13个元素赋给temp2
但是使用上面的方法会产生错误,并假设在声明数组之前正确给出了l,j,n1,n2。因此,建议我使用一个代码来执行此操作,而无需使用循环并使用指针。
您不能在C中分配数组,更不用说从数组中分配范围了。而是将这些数组的内存复制到新位置:
这是通过memcpy
功能完成的。使用&array[firstIndex]
或array+firstIndex
计算要复制的块的初始地址以及目标数组中的初始地址。使用n*sizeof(array[0])
以确定要复制的字节数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句