Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/10/2009, 12:37
Avatar de fradve
fradve
 
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años, 11 meses
Puntos: 7
De acuerdo Respuesta: Ayuda urgente con un problemita de funciones

Hay dos formas de pasar parámetros a funciones, una es por valor y otra por referencia, entonces la primera lo único que hace es podría decirse enviar el contenido de la variable, por ejemplo: en tu caso tienes:

Declaración:
void insertar(int a[max],int num_elem,int p,int dato);


Llamado:

insertar(a,num_elem,p,dato);

estás recibiento num_elem por por valor, es decir, cualquier cambio que le hagas a num_elem dentro del procedimiento solo permanecerá mientras este se ejecute, ya que es tratada como una variable, no importa si tiene el mismo nombre de la variable del main.

Y la segunda es que recibes la referencia de memoria de la variable que empleas y ahí si se modifica el contenido de esta, y se mantiene sin importar si ya terminó la ejecución del método o procedimiento, así:


Declaración:
void insertar(int a[max],int &num_elem,int p,int dato);


Llamado:

insertar(a,num_elem,p,dato);


Espero te haya aclarado la duda.
__________________
En programación hay mil y un formas de hacer lo mismo...