[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