EL TEMA Tipos De Datos Definidos Por Usuario
3 Tipos de Datos C utiliza 5 palabras reservadas para definir los tipos de datos fundamentales. A diferencia de Pascal, un determinado tipo de datos puede ir cualificado por un conjunto de modificadores que estudiaremos más adelante. Los tipos de datos fundamentales son: char short int int long int unsigned char unsigned short int unsigned int unsigned long int double float long float void Figura 5 Tipos de datos fundamentales
char Representa un carácter en código ASCII, también se puede interpretar como
un entero.
short int Indica un entero de tamaño corto.
int Entero igual que integer en Pascal.
long int Entero largo.
unsigned short int Como short int pero sin signo.
unsigned int Como int pero sin signo.
unsigned long int Como long int pero sin signo.
float Flotante corto. Análogo al single de Pascal.
double Flotante largo. Análogo al double de Pascal.
void No indica ningún tipo. Es el tipo de las funciones que no devuelven nada.
Los tipos short int, long int, unsigned int y long float se pueden escribir como: short, long, unsigned y double.
Con respecto al tamaño que ocupan en memoria variables de estos tipos, todo lo que garantiza C es:
sizeof(char) = 1 sizeof(short) <= sizeof(int) <= sizeof(long) sizeof(unsigned) = sizeof(int) sizeof(float) =< sizeof(double)
Donde sizeof es un operador que está incorporado en C y devuelve el número de bytes que tiene un objeto.
Hay un grupo de modificadores que indican la forma que se almacena una determinada variable de un determinado tipo. Se indica antes del tipo de la variable.
static Cuando se invoca a una función por segunda vez se pierden los valores que las variables locales de la función tenían al acabar la anterior llamada. Declarando una variable de este tipo cuando se llama por segunda vez a la subrutina la variable static (estática) contiene el mismo valor que al acabar la llamada anterior.
auto Es lo mismo que si no se usara ningún modificador
volatile El compilador debe asumir que la variable está relacionada con un dispositivo y que puede cambiar de valor en cualquier momento.
register El compilador procurará almacenar la variable cualificada de este modo en un registro de la CPU.
extern La variable se considera declarada en otro fichero. No se le asignará dirección ni espacio de memoria.