Variables e identificadores

Una variable es una celda de memoria que tiene un nombre único (para ser referenciada sin errores) y que puede almacenar los valores de un determinado tipo. Esta aptitud está garantizada por el hecho de que el compilador asigna a la variable exactamente la memoria necesaria para la misma en el formato interno especial: cada tipo tiene su tamaño y su formato de almacenamiento de memoria correspondiente. En la Parte 2 se ofrecen más detalles al respecto.

Básicamente, en el programa existe un término más estricto, el identificador, que se utiliza para los nombres de variables, funciones y muchas otras entidades que se descubrirán más adelante. El identificador cumple algunas reglas. En concreto, sólo puede contener caracteres latinos, números y guiones bajos, y no puede empezar por un número. Por eso, la palabra «Saludo» elegida para la función anterior cumple estos requisitos.

Los valores de una variable pueden ser diferentes y pueden modificarse mediante sentencias especiales durante la ejecución del programa.

Junto con su tipo y su nombre, una variable se caracteriza por el contexto, es decir, la zona del programa en la que se define y puede utilizarse sin errores de compilador. Nuestro ejemplo probablemente facilitará la comprensión de este concepto sin necesidad de un razonamiento técnico detallado al principio.

La cuestión es que una instancia concreta de una variable es el parámetro de la función. El parámetro sirve para enviar un determinado valor a la función. A este respecto, es obvio que el fragmento de código, en el que existe una variable de este tipo, debe limitarse al cuerpo de la función. En otras palabras: el parámetro puede utilizarse en todas las sentencias dentro del bloque de funciones, pero no fuera. Si el lenguaje de programación permitiera tales libertades, esto se convertiría en una fuente de errores en abundancia debido a la posibilidad potencial de «estropear» la función en su interior a partir de un fragmento de programa aleatorio que no está relacionado con la función.

En todo caso, se trata de una definición ligeramente simplificada de una variable, lo cual es suficiente para esta sección introductoria. Más adelante estudiaremos algunos matices.

Por tanto, precisemos nuestros conocimientos sobre variables y parámetros: deben constar de tipo, nombre y contexto. Escribimos las dos primeras características en el código de forma explícita, mientras que la última resulta de la ubicación de la definición.

Veamos cómo podemos definir el parámetro del número de hora en la función Greeting. Ya conocemos el tipo deseado, se trata de int, y lógicamente podemos elegir el nombre: hour.

string Greeting(int hour)
{
  return "Hello, ";
}

Esta función seguirá devolviendo «Hola», sea cual sea la hora. Ahora deberíamos añadir algunas sentencias que seleccionaran diferentes cadenas como resultado, dependiendo del valor del parámetro hour. Recuerde que hay tres posibles opciones de respuesta de función: «Buenos días», «Buenas tardes» y «Buenas noches». Podríamos suponer que necesitamos 3 variables para describir estas cadenas. Sin embargo, en estos casos es mucho más cómodo utilizar un array, el cual garantiza un método unificado de codificación de algoritmos con acceso a elementos.