Hola, en el lenguaje C se permiten definir tipos del usuario, eso permite poner nombres mas acordes a los tipos ya definidos por el lenguaje, por ejemplo un handle de archivo normalmente es declarado como
FHandle esto no es otra cosa que un *int. La forma de declarar un nuevo tipo es la siguiente:
typdef <tipo> <nuevo tipo>Para el caso del FHandle es:
typedef *int FHandleDe ahora en mas sabremos que FHandle es un puntero a int.
La idea de crear tipos es que los tipos estandares tienen un tamaño plataforma dependiente, por ejemplo para un compilador C para un micro de 8 bits el int normalmente es un entero signeado de 16 bits, pero para plataformas Windows es un entero signeado de 32 bits. Es notoria la diferencia del código generado para manejar matematica signeada y de 32 bits en un micrito de 8 bits ( sea cual sea la marca ) contra un entero de 8 bits asigneado. En definitiva todas estas nuevas definiciones permiten mejorar la portabilidad del código, para mi la idea es un poco sacada del Pascal que como lenguaje formal es muy superior.
typedef unsigned char byte;
typedef unsigned short int word;
typedef unsigned long dword;
Que se asumen normalmente como asigneados, lo que no me parece bueno es int8, int16, int32 que como estandart de facto implicarian enteros con signo pero para el CCS son asigneados.
Saludos !