Лучший способ создания вспомогательного массива из массива в C

У меня есть массив say a[3]={1,2,5}. Мне нужно создать еще один массив a2[2]={2,5}.

Я попытался просто создать новый массив a2[] и просто скопировать все элементы из требуемого диапазона позиций.

Есть ли какой-либо другой метод для этого в C?.

Ответы

Ответ 1

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

Ответ 2

Вместо второго массива просто используйте указатель:

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

Если они должны быть разными, у вас нет другого выбора, кроме как скопировать элементы массива в новый массив.