[C con Clase] LLamada a función con un vector.
Programante
programante en gmail.com
Lun Feb 19 19:17:02 CET 2007
Daniel Dagnino escribió:
>
> Hola a todos,
>
> Tengo una función que entre sus argumentos figura un array de 1
> dimensión, por ej:
>
> func(int *v)
>
> y la función main que la llama tiene otro array pero de 2 dimensiones,
> por ej:
>
> **w
>
> Mi problema es que el argumento que quiero enviarle a la función es
> una fila de w y no se como hacerlo sin tener que crearme otro array
> auxiliar y hacer lo siguiente:
>
> for (j=1;j<10;j++) vaux[i]=w[j][i];
>
> func(vaux);
>
> Por lo visto existe un método que no necesita del array auxiliar o eso
> me han dicho. Si alguien lo conoce y me lo explica pues gracias de
> ante mano.
>
> Un saludo.
>
> Dani.
>
Es muy sencillo: func(w[j]);
Estás desreferenciando un int**, por lo que tienes un int* que, en este
caso es precisamente el que buscabas.
Cuando no podrías hacer esto es si los índices estuvieran cambiados: for
(j=1;j<10;j++) vaux[i]=w[i][j];
Un saludo
Más información sobre la lista de distribución Cconclase