[C con Clase] Cómo se pasa un arreglo por parámetro?
David Reza
l.fix3r.l en gmail.com
Mar Mayo 6 03:35:47 CEST 2008
Steven Davidson escribió:
> Hola David,
>
> David Reza wrote:
> > Muchas gracias por la respuesta. Sólo una última duda, ¿cómo
> > pasaría un arreglo por valor?
> >
> > Ya sé que no es muy conveniente pero sirve de cultura general.
> >
>
> Bueno, en realidad ya lo estás pasando por valor (o por copia), ya que
> estás pasando la dirección de memoria; es decir, copias la dirección de
> memoria. Ahora bien, supongo que estás preguntando la forma de copiar
> los elementos del array. Directamente, no podríamos, pero sí podríamos
> crear una estructura y pasar ésta por copia. Por ejemplo,
>
> struct array
> {
> int lista[10];
> };
>
> int func( array stLista );
>
> Esta "técnica" también te sirve para retornar un array, indirectamente,
> claro está. Por ejemplo,
>
> array g( array stLista );
Ya me confundí un poco. Al escribir:
//Prototipo función
tipo funcion(tipo []);
//Main
int main
{
....
funcion(arreglo);
...
}
//Declaración función
tipo funcion(tipo identificador[])
{
...
}
Estoy pasando el arreglo por valor? Si es así, por qué?
Puedo pasar un solo elemento del array si en el main utilizo la función así:
?
...
funcion(arreglo[56]);
....
Y para pasar un arreglo por referencia se utilizarían los punteros?
Disculpen la molestia.
Saludos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080505/bdf45550/attachment.html>
Más información sobre la lista de distribución Cconclase