Hasta
ahora siempre hemos declarado los parámetros de nuestras
funciones del mismo modo. Sin embargo, éste no es el único
modo que existe para pasar parámetros.
La
forma en que hemos declarado y pasado los parámetros de las
funciones hasta ahora es la que normalmente se conoce como "por
valor". Esto quiere decir que cuando el control pasa a
la función, los valores de los parámetros en la llamada
se copian a "variables" locales de la función,
estas "variables" son de hecho los propios parámetros.
Lo
veremos mucho mejor con un ejemplo:
Bien,
¿qué es lo que pasa en este ejemplo?. Empezamos haciendo
a = 10 y b = 20, después llamamos a la función "funcion"
con las variables a y b como parámetros.
Dentro de "funcion" los parámetros se llaman n
y m, y cambiamos sus valores, sin embargo al retornar a "main",
a y b conservan sus valores originales. ¿Por qué?.
La respuesta es que lo que pasamos no son las variables a y b, sino
que copiamos sus valores a las variables n y m.
Piensa en lo que pasa cuando llamamos a la función con parámetros
constantes, en el ejemplo, la segunda llamada a "funcion".
Los valores de los parámetros no pueden cambiar al retornar
de "funcion", ya que son constantes.
|