我有一个数组说a[3]={1,2,5}
。我必须创建另一个数组a2[2]={2,5}
。
我所尝试的只是创建一个新数组a2[]
并只复制所需位置范围内的所有元素。
在C中还有其他方法可以实现吗?
答案 0 :(得分:24)
memcpy(a2, &a[1], 2*sizeof(*a));
答案 1 :(得分:15)
不要使用第二个数组,只需使用指针:
int a[3]={1,2,5};
int *p = &a[1];
如果它们必须是不同的,除了将数组元素复制到新数组外别无选择。