Una variable es un objeto del
lenguaje cuyo valor se puede cambiar. Antes de utilizar una variable ésta
debe de ser declarada. Al declarar una variable, se le asocia un identificador,
es decir, un nombre, con un tipo de almacenamiento cuya forma determina
la visibilidad y existencia de la variable.
El tipo de la variable nos indica el conjunto de valores que
puede tomar y las operaciones que pueden realizarse con ella. Existen cinco
tipos de datos básicos en C:
Tipos de Datos | Descripción | Memoria |
---|---|---|
|
Cantidad entera | 2 bytes o una palabra (varía según compilador). |
|
Carácter | 1 byte. |
|
Almacena valores reales en punto flotante. | 1 palabra (4 bytes). |
|
Almacena valores reales en doble precisión. | 2 palabras (8 bytes). |
|
Se utiliza para definir una función que no devuelve ningún valor o declarar punteros genéricos (lo veremos más tarde). |
Estos tipos básicos admiten una modificación del rango de valores, aplicando las siguientes palabras reservadas:
short (corto). | |
long (largo). | |
signed (con signo). | |
unsigned (sin signo). |
|
|
|
char | 8 | -128 a 127 |
unsigned char | 8 | 0 a 255 |
signed char | 8 | -128 a 127 |
short | 16 | -32768 a 32767 |
int | 16 | -32768 a 32767 |
unsigned int | 16 | 0 a 65535 |
signed int | 16 | -32768 a 32767 |
short int | 16 | -32768 a 32767 |
unsigned short int | 16 | 0 a 65535 |
signed short int | 16 | -32768 a 32767 |
long int | 32 | -2147483648 a 2147483647 |
signed long int | 32 | -2147483648 a 2147483647 |
unsigned long int | 32 | 0 a 4294967295 |
long | 32 | -2147483648 a 2147483647 |
unsigned long | 32 | 0 a 4294967295 |
float | 32 | 3.4E-38 a 3.4E+38 |
double | 64 | 1.7E-308 a 1.7E+308 |
long double | 64 ó 80 (según versión). | 1.7E-308 a 1.7E+308 ó 3.4E-4932 a 1.1E+4932 |
NOTA: En esta tabla mostramos
los valores más típicos, hansido cogidos de Turbo C, sin
embargo, estos pueden variar de un compilador a otro.
Esto nos sirve simplemente para, ahorrar memoria en algunos
casos en los que la variable que vamos a usar sepamos a ciencia cierta
que no va a tomar valores muy grandes; o por el contrario usar long
o
double para evitar que se nos desborde el
Rango del que disponemos.
El tipo
char se utiliza para representar caracteres
individuales. Por tanto, el tipo char
requiere sólo un byte de memoria. Cada tipo char
tiene
una interpretación como entero equivalente, de esta forma un
char es una clase especial de entero pequeño.
En la mayoría de los compiladores el entero tipo char
puede
tomar valores entre 0 y 255. También se puede utilizar datos unsigned
char (con valores de 0 a 255) o datos signed
char (con valores de -128 a 127).
Ejemplos 1:
int abajo arriba; | /* Estoy declarando dos variables de tipo entero.*/ |
unsigned int fahr,celsius; | /* Declaro dos variables enteras sin signo, lo que significa que si el Rango de un entero está entre: -32768 y 32767; en un entero sin signo su parte negativa la uso en la positiva, estando su Rango entre: 0 y 65535. */ |
/* Algunos compiladores reservan menos espacio de memoria para las variables a, b ,c que para p, y q. Los valores típicos son 2 bytes para las variables declaradas como short int, y 4 bytes (una palabra) para cada variable int. De forma semejante, algunos compiladores reservan espacio de memoria adicional para las variables r,s y t, declaradas como long int. Es un valor típico el de 2 palabras (8 bytes), por tanto los valores permitidos para r, s, y t serán mayores que los permitidos para p y q si utilizamos un compilador de este tipo.*/ |