El mejor método para crear una submatriz a partir de una matriz en C

1 minuto de lectura

avatar de usuario
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.

¿Ha sido útil esta solución?