Definir una variable es reservar el espacio de memoria suficiente para almacenar un valor asignando un identificador para referenciarla y determinando el tipo de dato del que se da dicho valor. La función de la memoria, por tanto, será mantener el valor asignado todo el tiempo que sea necesario para usar ese valor tantas veces como queramos.
En el caso de las variables, podremos modificar el valor tantas veces como queramos a lo largo de la ejecución del programa (ya veremos que no es así con las constantes). Cuando modificamos su valor, pierde el valor que tenía antes y adquiere el nuevo (solo podemos almacenar un único valor para cada variable).
La sintaxis para declarar una variable es la siguiente:
[forma] [clase] <tipo> <indentificador> [=expresión] <;>
[forma] [clase] <tipo> <indentificador> [=expresión] <,> <indentificador> [=expresión] <,> [...] <;>
Forma de almacenamiento(opcional): los distintos tipos de almacenamiento son:
Clase de variable(opcional): esto es el signo y/o el tamaño reservado en memoria. En caso de omitirlo se toma signed como valor predefinido
Tipo de dato: El tipo de dato que vamos a almacenar en la variable, tiene que ser uno de los vistos en el Tema: Tipos de datos en C
Identificador: nombre que le damos a la variable teniendo en cuenta:
auto | break | case | char | const | continue | default | do |
return | double | else | enum | extern | float | for | goto |
if | int | long | register | union | short | signed | sizeof |
static | struct | switch | typedef | while | unsigned | void | volatile |
Inicialización de variables (opcional): las variables pueden ser inicializadas en el momento de su declaración. Esto es darles un valor cuando las definimos. Para ello tenemos varias opciones:
Tipo de dato | Modificador | Rango de valores | Breve descripción |
---|---|---|---|
Enteros (int) | short | -215 , 215-1 | Para números enteros pequeños con signo |
long | -231 , 231-1 | Para números enteros más grandes | |
signed | Es por defecto, indica que tiene signo (+ ó -) | ||
unsigned | 0 , 216-1 ó 0 , 232-1 | Números enteros sin signo | |
real (float) | NO | Para representar números enteros muy grandes o números reales (con decimales) | |
carácter (char) | Se pueden representar mediante comillas simples (''), mediante el código correspondiente o mediante símbolos especiales (ya lo veremos) | ||
signed | -128 hasta 127 | ||
unsigned | 0 hasta 255 | ||
vacío (void) | NO | Para definir un puntero genérico, indicar que una función no retorna ningún valor o que una función no lleva parámetros. |