402y37

 

Definición de tipos, tipos derivados

En ocasiones puede ser útil definir nombres para tipos de datos, 'alias' que nos hagan más fácil declarar variables y parámetros, o que faciliten la portabilidad de nuestros programas.
Para ello C++ dispone de la palabra clave typedef.
Sintaxis:

typedef <tipo> <identificador>; 
 
<tipo> puede ser cualquier tipo C++, fundamental o derivado. 

Ejemplos

typedef unsigned int UINT; 
 

UINT será un tipo válido para la declaración de variables o parámetros, y además será equivalente a un entero sin signo.

typedef unsigned char BYTE; 

BYTE será un tipo equivalente a ocho bits.

typedef unsigned short int WORD; 

WORD será un tipo equivalente a dieciséis bits. Este último es un caso de dependencia de la plataforma, si WORD debe ser siempre una palabra de dieciséis bits, independientemente de la plataforma, deberemos cambiar su definición dependiendo de ésta. En algunas plataformas podrá definirse como:

typedef unsigned int WORD; 

y en otras como:

typedef unsigned long int WORD; 

Declarar un tipo para WORD en un fichero de cabecera, nos permitirá adaptar fácilmente la aplicación a distintas plataformas.

typedef struct stpunto tipoPunto; 

Define un nuevo tipo como una estructura stpunto.

typedef struct {
   int x;
   int y;
   int z;
} Punto3D; 

Define un nuevo tipo Punto3D, partiendo de una estructura.

typedef int (*PFI)(); 

Define PFI como un puntero a una función que devuelve un puntero.

PFI f; 

Declaración de una variable f que es un puntero a una función que devuelve un entero.

Palabras reservadas usadas en este capítulo

typedef.
Ir al Principio
Compartir

Mi nombre es Alexander fundador y CEO, y me gusta llamarme un Geek. Amo la informática, tecnología y todo lo que está relacionado con ella. Inicié este sitio con la intención de compartir conocimientos como cursos en línea, tutoriales y videotutoriales. Estoy muy entusiasmado con la información que he descubierto y compartido hasta el momento. La verdad es que lo he hecho con el mayor de los gustos. Así es, soy un Geek con una visión para compartir conocimiento. Leer mas...