Datos, Operadores y Expresiones

2. Variables

2.2. Declaración de variables

Una característica del C++ es la necesidad de la declaración de las variables que se usarán en el programa. Aunque esto resulta chocante para los que se aproximan al C++ desde otros lenguajes de programación, es en realidad una característica muy importante y útil de C++, ya que ayuda a conseguir códigos más compactos y eficaces, y contribuye a facilitar la depuración, la detección y corrección de errores.

Sintaxis:
     [tipo] [lista_de_identificadores];

Tipo debe ser un tipo de datos válido y lista_de_identificadores puede ser uno o más identificadores separados por coma (,). La declaración de variables puede considerarse como una sentencia. Desde este punto de vista, la declaración terminará con un ";".
Por ejemplo:
     int numero;
     float promedio, final;
     char letra;

También es posible inicializar las variables dentro de la misma declaración.
Por ejemplo:
     int a = 1234;
     bool seguir = true, encontrado;
     char letra = ‘k’;

Se declarara las variables "a", "seguir", "encontrado" y “letra”; y además se  inicia los valores de "a" en 1234, “seguir” en "true" y “letra” con ‘k’.

Mas ejemplos de declaraciones :



En C++, contrariamente a lo que sucede con otros lenguajes de programación, las variables no inicializadas tienen un valor indeterminado, contienen lo que normalmente se denomina "basura", también en esto hay excepciones como veremos más adelante.

Declaración de una variable de tipo entero (integer)

En C++ las posibilidades de declara varaibles enteras son MUCHAS mas que en Python, recordemos que cuando hablamos de esto no estamos refiriendo TIPO  indirectamente al TAMAÑO que usan en memoria las variables. Veamos algunos.


El ejemplo anterior es solo una parte de los posibles tipos de variables enteras en C++, en realidad la combinación de varias palabras claves nos darían el resto de tipos de variables, como ser:

[signed|unsigned] [short|long|long long] int <identificador o nombre >
[signed|unsigned] long long [int] <identificador o nombre>
[signed|unsigned] long [int] <identificador o nombre >
[signed|unsigned] short [int] <identificador o nombre >

Declaración de una variable de tipo punto flotante (float)

float <identificador o nombre >

Declaración de una variable de tipo punto flotante de doble precisión (double)

[long] double <identificador o nombre >

Veamos otro ejemplo, en este vamos a usar el operador sizeof() que me da el tamaño del argumento en bytes.

}



Declaración de una variable sin tipo (void)

void <identificador o nombre >

Este es una variable especial que indica la ausencia de tipo. Se usa en funciones que no devuelven ningún valor, también en funciones que no requieren parámetros, aunque este uso sólo es obligatorio en C, y opcional en C++, también se usará en la declaración de punteros genéricos. Es algo veremos mas adelante, por el momento profundizaremos en este tipo de variable.

Declaración de una variable de tipo enumerado (enum)

Una enumeración es un tipo de dato distinto, es un tipo de dato definido por el usuario o programador, que contiene un conjunto de nombres llamados "enumeradores " de allí el nombre de enum, los cuales son constantes enteras. Veamos un ejemplo de como sería la declaración

enum [<nombre_o_identificador_de_enum>] { <nombre> [= <valor>], ...} [lista_de_variables];

La idea de este tipo de datos es agrupar constantes simbólicas para dar mas claridad al programa. Una constante simbólica en un nombre que luego al compilar se reemplaza por un valor, pero al momento de codificar el código fuente es mas legible y evitar que aparezcan en el código números mágicos.

Ejemplo de Constante Simbólica.

#define temperatuta_ambiente 25

Por ejemplo de declaración de enum.

Para este caso enero=0, febrero=1, etc. el compilador asigna valores.
Si definimos de la siguiente manera:

El compilador dará a agosto el valor de 8 y 9 para septiembre.

 Los enumeradores o constantes simbólicos DEBEN ser únicos no se pueden repetir, y si no le damos valor el compilador les da valores.Los valores de las constantes SI se pueden REPETIR.

Observación: Si hubiera dos constantes simbólicas en DISTINTAS variables enum, el compilador tiraría ERROR.

El error sería:

Veamos otro ejemplo:

Se deja al alumno observar y razonar cada línea del código para entender como la variable mes que se declara como int se le asigna agosto..

Declaración de una variable de tipo boleana (boolean)

bool <identificador o nombre> 

Las variables de este tipo sólo pueden tomar dos valores "true" o "false". Sirven para evaluar expresiones lógicas.
Este tipo de variables se puede usar para almacenar respuestas, por ejemplo: ¿Posees carné de conducir? O para almacenar informaciones que sólo pueden tomar dos valores, por ejemplo: qué mano usas para escribir. En estos casos debemos acuñar una regla, en este ejemplo, podría ser diestro->"true", zurdo->"false".

Veamos un ejemplo:

Vemos que en la línea 7 la expresión que evalúa el if es el valor de la variable booleana SI que como vale true, se evalúa como verdadero, esto sería lo mismo que escribir:

para ambos casos la salida sería.