C/Visual C - parametro: arreglo por valor

 
Vista:

parametro: arreglo por valor

Publicado por Alberto (20 intervenciones) el 27/01/2003 18:17:35
Amigos:
Es posible hacer una llamada a una funcion de tal manera que el argumento que reciba sea un arreglo por valor?

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:parametro: arreglo por valor

Publicado por jose (2 intervenciones) el 27/01/2003 18:22:46
Si no me equivoco cuando se pasa un array a una funcion es como si se le pasara por valor, ya que funcion1(cadena[]) es equivalente a funcion1(*cadena).
No me hagas mucho caso pero creo que es asi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parametro: arreglo por valor

Publicado por Googol (255 intervenciones) el 30/01/2003 11:45:39
No, no, cuando se pasa un array a una función siempre es por referencia (o por "variable") precisamente por eso, porque en realidad lo que se pasa es el puntero. Que yo sepa, no se puede pasar por valor. Una posible alternativa sería declarar un tipo estructura que contuviera al array, y pasar como parámetro la estructura por valor, de modo que se haría copia de la estructura entera y el array no se compartiría. De todas formas es un poco chapuza, la verdad
Lo mejor es especificar como "const" el parámetro, para demostrar a los usuarios de la función que no vas a tocar el array aunque se pase por referencia.
Si lo que quieres es modificar el array que se te pasa pero que tus cambios no se vean fuera, lo mejor es que te hagas una copia local y modifiques esa.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar