pobre vank
tengo una matriz decir a[3]={1,2,5}
. tengo que crear otra matriz a2[2]={2,5}
.
Lo que he intentado es simplemente crear una nueva matriz. a2[]
y simplemente copie todos los elementos del rango de posición requerido.
¿Hay algún otro método para lograr esto en C?
memcpy(a2, &a[1], 2*sizeof(*a));
-
¿No debería ser
memcpy(&a2, &a[1], 2*sizeof(*a));
?– Llama de udun
28/09/2014 a las 17:26
-
No, a2 ya es un puntero a la matriz, pero un[i] es número en su lugar.
– Jan Kaifer
17 de febrero de 2017 a las 21:18
En lugar de tener una segunda matriz, solo use un puntero:
int a[3]={1,2,5};
int *p = &a[1];
Si tienen que ser distintos, no tiene otra opción que copiar los elementos de la matriz en una nueva matriz.