6.3 Datos compartidos en subprogramas.
Localidad y necesidad de compartir datos
Existen cuatro formas básicas de proveer ambientes no locales en lenguajes de programación:
ambientes no locales implícitos, basados en:
6.3.1 Nombres y ambientes de referencia.
Los parámetros transmitidos en forma explícita son el método alternativo principal para compartir objetos dato entre subprogramas.
En el caso de ambientes referenciales no-locales, la compartición se consigue haciendo que ciertos nombres no-locales sean visibles para un subprograma.
El compartir datos por medio de parámetros es particularmente útil cuando a un subprograma se le entregan datos de proceso diferentes cada vez que es llamado.
Parámetros reales y parámetros formales.
Un parámetro formal es un caso particular de un dato local dentro de un subprograma.
Por ejemplo, en C:
SUB(int X, char Y)
se definen dos parámetros formales, llamados X e Y y se declara el tipo de cada uno.
Un parámetro real es un dato que se comparte con el programa que llama.
Métodos para la transmisión de parámetros.
![]() | Call by name. |
En esta interpretación, cada parámetro formal es visto como una evaluación actual del parámetro real particular.
Así, cada referencia a un parámetro formal requiere una re-evaluación del parámetro real correspondiente.
![]() | Call by value. |
Si un parámetro es transmitido by-value (llamado by-copy en Ada 95), el valor del parámetro real es "pasado" al llamado parámetro formal.