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
En C, todas las variables deben ser declaradas previamente a ser utilizadas. No hay tipos por defecto (en Basic todas las variables son por defectos reales, en FORTRAN el tipo de una variable esta definido por la inicial de su nombre, etc.).

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.

ICOM