Tipos de pase a los parametros de una funcion

5 views
Skip to first unread message

Carlos_Alvarez_H_

unread,
May 23, 2008, 10:36:32 PM5/23/08
to Estructuras de Datos
Muy buenas noches a todos..

Voy a compartir con ustedes los diferentes tipos de pases de
parametros a una funcion.Eh investigado acerca de los tipos de pases y
pense que solo avian 2 pases pero por lo que eh investigado hay 3
diferentes tipos de pases

una es la del pase por valor, por referencia y por puntero... a
continuación te explicaré cada uno...

PASE POR VALOR

Por valor simplemente envías una copia de tu dato original a la
función en la que va a ser usada por ejemplo
int sumar(int num1,int num2)
{ return num1+num2;
}
cuando la llamas supongamos que tengas dos variables enteras
int a, b, res;
res=sumar(a,b);
a lo que llamas a la función en num1 se crea una copia del valor que
haya en a, y en num2 se crea una copia de lo que haya en b es decir a
y b no se afectan en nada

PASE POR REFERENCIA

int sumar(int &num1,int &num2)
{ return num1+num2;
}
cuando la llamas supongamos que tengas dos variables enteras
int a, b, res;
res=sumar(a,b);
al hacer esta llamada num1 seria como un alias de a, y num2 seria un
alias de b... esto quiere decir que a y num1 son dos nombres
diferentes que referencian a la misma celda de memoria es decir si tú
modificas num1 es como si estuvieras modificando a, y si modificas
num2 es como si estuvieras modificando b...

PASE POR PUNTERO

int sumar(int *num1,int *num2)
{ return *num1+*num2;
}

int a, b, r, *p1, *p2;
p1=&a;
p2=&b;
r=sumar(p1,p2);
al hacer esto lo que ocurre es que tu estas usando punteros
(direcciones de memoria) de las variables a y b para esto tienes que
saber los dos operadores que se aplican a punteros
el * que se utiliza para declarar un puntero y también para obtener el
valor al que apunta el mismo
y el operador & que obtiene la dirección de memoria de alguna variable
p1=&a;
quiere decir que p1 esta guardando la dirección de la variable a...
Cuando usas un puntero solo puedes apuntar al tipo de dato para el que
fue creado...

Espero que les ayude aclarar dudas sobre los dierentes tipos de pases.

Gracias-- Carlos Alvarez H

delta14

unread,
May 24, 2008, 1:41:21 PM5/24/08
to Estructuras de Datos
Carlos este tema ya lo trataste anteriormente por favor vea mensaje
original, gracias.
Reply all
Reply to author
Forward
0 new messages