Hay dos opciones para transmitir un objeto a una subrutina:

  • Pasar por valor, indicado por una sola flecha a la derecha o dentro, pasa un valor numérico a la variable de subrutina que usted defina.
    • Pasar por valor significa que un valor numérico se pasa de la rutina de llamada a esta rutina.
    • Si el valor numérico proviene de una variable etiquetada en la rutina de llamada, la subrutina no puede afectar el valor de la variable en el programa de llamada. Sólo usa el valor pasado.
  • El paso por referencia, ilustrado por las flechas opuestas que indican entrada y salida, pasa una referencia o manija a una variable en la rutina de llamada.
    • Pasar por referencia significa que se pasa una «referencia» a un elemento de datos.
    • Utilizando una referencia que se transfiere, se puede acceder a los datos de la rutina de llamada y modificarlos.
    • Cambiar los datos pasados por referencia es el equivalente a pasar los datos hacia fuera.

Los arreglos completos sólo se pueden pasar por referencia. Los elementos individuales del arreglo sólo pueden ser pasados por valor. Si configura para pasar un elemento de la matriz, debe colocar el índice de la matriz entre corchetes []

En 2 palabras

Pasar por valor.
El valor no se modifica.
No es el mismo valor en Subrutinas y en el programa principal.

Pasar por referencia.
Se modifica el valor.
Es el mismo valor en Subrutinas y en el programa principal.