- 2.4) Tipos de Datos.
Una variable es un objeto dellenguaje cuyo valor se puede cambiar. Antes de utilizar una variable éstadebe de ser declarada. Al declarar una variable, se le asocia un identificador,es decir, un nombre, con un tipo de almacenamiento cuya forma determinala visibilidad y existencia de la variable.
El tipo de la variable nos indica el conjunto de valores quepuede tomar y las operaciones que pueden realizarse con ella. Existen cincotipos 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únvalor o declarar punteros genéricos (lo veremos más tarde). |
Estos tipos básicos admiten una modificacióndel 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-4932a 1.1E+4932 |
NOTA: En esta tabla mostramoslos valores más típicos, hansido cogidos de Turbo C, sinembargo, estos pueden variar de un compilador a otro.
Esto nos sirve simplemente para, ahorrar memoria en algunoscasos en los que la variable que vamos a usar sepamos a ciencia ciertaque no va a tomar valores muy grandes; o por el contrario usar longodouble para evitar que se nos desborde elRango del que disponemos.
El tipochar se utiliza para representar caracteresindividuales. Por tanto, el tipo charrequiere sólo un byte de memoria. Cada tipo chartieneuna interpretación como entero equivalente, de esta forma unchar es una clase especial de entero pequeño.En la mayoría de los compiladores el entero tipo charpuedetomar valores entre 0 y 255. También se puede utilizar datos unsignedchar (con valores de 0 a 255) o datos signedchar (con valores de -128 a 127).
Ejemplos 1:
int abajo arriba; | /* Estoy declarando dos variables de tipoentero.*/ |
unsigned int fahr,celsius; | /* Declaro dos variables enteras sin signo,lo que significa que si el Rango de un entero está entre: -32768y 32767; en un entero sin signo su parte negativa la uso en la positiva,estando su Rango entre: 0 y 65535. */ |
Ejemplo 2:
- short int a,b,c;
long int r, s, t;
int p,q;
/* Algunos compiladores reservanmenos espacio de memoria para las variables a,b,cquepara p, y q.Los valores típicos son 2 bytes para las variables declaradas comoshortint, y 4 bytes (una palabra) para cada variableint.De forma semejante, algunos compiladores reservan espacio de memoria adicionalpara las variables r,syt, declaradas como longint. Es un valor típico el de 2 palabras(8 bytes), por tanto los valores permitidos para r,s, y t seránmayores que los permitidos para p yq si utilizamos un compilador de este tipo.*/