25/07/2014, 07:02
|
| | Fecha de Ingreso: junio-2010 Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 7 meses Puntos: 73 | |
Respuesta: Clases de Parámetros Paso de parámetro por valor: A la función a la que llamas le pasas una copia de la variable. Aunque en la función modifiques ese parámetro, solamente estás modificando la copia, y al salir de la función, perderás esas modificaciones y tu variable quedará igual. Así, el paso de parámetros por valor es solamente para entrada.
Paso de parámetro por referencia: A la función a la que llamas le pasas la dirección de la variable. A través de esa dirección puedes modificar el valor de esa variable, y esa modificación no se perderá. Puedes utilizar el paso por referencia tanto para entrada como para salida.
Debes tener en cuenta:
- El nombre de un array es un puntero al primer elemento. Así, cuando pasas un array como parámetro, en realidad estás pasando un puntero al primer elemento, luego lo pasas por referencia. Así pues, los arrays siempre pasan por referencia.
- Cuando pases estructuras de datos, es conveniente pasarlas por referencia aunque sólo vayan a utilizarse como entrada. Esto se debe a que, en términos de tiempo de máquina, se necesita muy poco tiempo para introducir en la pila una dirección (la de la estructura), pero se necesita mucho más para introducir una copia completa de la estructura. |