Artículo previo: Tipos de datos (en C)
NOTAEsta información fue principalmente extraída del libro C/C++ Curso de programación (2ª ed.), escrita por Fco. Javier Ceballos (páginas 28-29).
Utilizando la palabra reservada typedef
podemos declarar nuevos nombres de tipo de datos; esto es, sinónimos de otro tipo ya sean primitivos o derivados, los cuales pueden ser utilizados más tarde para declarar variables de esos tipos. La sintaxis de typedef
es la siguiente:
typedef declaración_tipo sinónimo[, sinónimo]...;
donde declaración_tipo es cualquier tipo definido en C, primitivo o derivado, y sinónimo es el nuevo nombre elegido para el tipo especificado. Por ejemplo, la sentencia siguiente declara el nuevo tipo ulong como sinónimo del tipo unsigned long
:
typedef unsigned long ulong;
Una vez definido el tipo ulong como sinónimo de unsigned long
, sería posible declarar una variable dni de cualquiera de las dos formas siguientes:
unsigned long dni; /* es equivalente a */
ulong dni;
Las declaraciones typedef
permiten parametrizar un programa para evitar problemas de portabilidad. Si utilizamos typedef
con los tipos que pueden depender de la instalación, cuando se lleve el programa a otra instalación sólo se tendrán que cambiar estas declaraciones.
El siguiente ejemplo declara el tipo enumerado t_colores como sinónimo de enum
colores, y define la variable color de este tipo:
enum colores
{
azul, amarillo, rojo, verde, blanco, negro
};
typedef enum colores t_colores;
main()
{
t_colores color = azul;
// ...
}
La declaración del tipo t_colores podría realizarse también así:
typedef enum colores
{
azul, amarillo, rojo, verde, blanco, negro
} t_colores;
o simplemente así:
typedef enum
{
azul, amarillo, rojo, verde, blanco, negro
} t_colores;
Siguiente artículo: Literales (en C)