在C中从数组创建子数组的最佳方法

时间:2013-07-20 14:50:13

标签: c arrays

我有一个数组说a[3]={1,2,5}。我必须创建另一个数组a2[2]={2,5}

我所尝试的只是创建一个新数组a2[]并只复制所需位置范围内的所有元素。

在C中还有其他方法可以实现吗?

2 个答案:

答案 0 :(得分:24)

memcpy(a2, &a[1], 2*sizeof(*a));

答案 1 :(得分:15)

不要使用第二个数组,只需使用指针:

int a[3]={1,2,5};
int *p = &a[1];

如果它们必须是不同的,除了将数组元素复制到新数组外别无选择。