27

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

我尝试的是创建一个新数组a2[],然后从所需的位置范围复制所有元素。

有没有其他方法可以在 C 中实现这一点?

4

2 回答 2

32
memcpy(a2, &a[1], 2*sizeof(*a));
于 2013-07-20T15:09:17.447 回答
22

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

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

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

于 2013-07-20T14:51:23.730 回答