Variables
En lenguajes de bajo nivel de abstracción, los datos y su manipulación involucra la interacción directa con el hardware, lo que hace a su manejo muy tedioso.
Los lenguajes de alto nivel, implementan una abstracción que facilita la manipulación de datos: la variable.
Esta abstracción define una relación entre un nombre simbólico y una porción de memoria
VARIABLE <=> Cantidad de memoria asociada
La manipulación del nombre de una variable involucra la manipulación de los datos almacenados en su memoria asociada.
Debido a que en la resolución de problemas nos encontramos con distintos tipos de datos (valores enteros, reales, palabras, caracteres, etc.), los lenguajes de programación soportan distintos tipos de variables.
En la tabla que sigue se presentan los principales tipos de variables que soporta el lenguaje C, como asi también la cantidad de memoria asociada a cada tipo (La cantidad de memoria asociada depende de la plataforma que se utilice)
| Tipo de variable | Memoria asociada en bytes |
|---|---|
| char | 1 |
| short | 2 |
| int | 4 |
| long | 4 |
| float | 4 |
| double | 8 |
Uso de variables
ejem_variab.c
/* Programa que duplica el valor ingresado */
/* y lo imprime en pantalla */
#include
void main()
{
int Valor,
ValorX2;
printf("Ingrese el valor a duplicar: ");
scanf("%d", &Valor);
ValorX2 = Valor * 2;
printf("%d x 2 = %d\n", Valor, ValorX2);
}
Puntos a Notar
- La declaración de las variables Valor y ValorX2 solo instruyen al compilador para que reserve una cantidad de memoria suficiente para almacenar a dos variables enteras, nada dice acerca de los valores iniciales que estas variables tomaran.
- La función scanf permite que se puedan ingresar datos desde teclado. Recibe un primer argumento donde se especifican los campos a ingresar (número y tipo de cada uno) y le sigue la lista de referencias a las variables que van a ser ingresadas.
- La expresión ValorX2 = Valor * 2; es la asignación a la memoria asociada de la variable ValorX2 con el valor que resulta de multiplicar el valor de la memoria asociada a Valor por 2.
- La función printf tiene una funcionalidad más amplia que la utilizada en el primer ejemplo, esta recibe un primer argumento donde se especifica el "string" a imprimir, el que puede tener embebidos especificadores que serán reemplazados con los contenidos de las memorias asociadas de las variables que siguen en la lista de argumentos (en nuestro caso en primer %d será reemplazado por el contenido de la variable Valor y el segundo %d con el de la variable ValorX2.