2013-07-20 39 views
16

子陣列我有一個數組說a[3]={1,2,5}。我必須創建另一個陣列a2[2]={2,5}最佳方法來創建從陣列用C

我曾嘗試是剛剛創建一個新的陣列a2[],只是複製一切從需要的位置範圍內的元素。

是否有任何其他方法在C做到這一點?

回答

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

不是應該'的memcpy(&A2,及一個[1],2 *的sizeof(* A));'? –

+0

否,A2已經是一個指針數組,但一個[i]是數代替。 –

13

而是具有第二陣列的,只是使用指針:

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

如果他們是不同的,你比數組元素複製到一個新的數組沒有其他選擇。