Índice

Typedef, enum y #define

1. Utilizar un typedef

typedef

El lenguaje C ofrece la posibilidad de definir sus propios tipos a partir de los tipos base. Para ello, hay que utilizar el comando typedef. El principio es sencillo: declarar una variable del tipo deseado, añadir typedef delante... y el nombre de la variable es un sinónimo del tipo de esta variable. Por ejemplo:

typedef int toto;

Permite definir el tipo «toto» en un programa; toto se convierte en sinónimo de int y puede usarse como tal en todo el programa:

typedef int toto; 
 
int main() 
{ 
        toto prueba=80; 
        printf("la variable prueba vale: %d\n",prueba); 
        return 0; 
}

Lo interesante de poder rebautizar sus tipos depende de las situaciones. Por ejemplo, para crear un lenguaje en español. Pero se utiliza casi automáticamente con las tuplas para hacer desaparecer la palabra clave struct.

Sea por ejemplo el tipo struct enemigo en un programa:

struct enemigo{ 
    char tipo;           // tipo del enemigo (una letra) 
    float molestia;      // potencial de molestia 
    float x,y,px,py;     // posición y desplazamiento 
    int fuerza;          // indicador de la fuerza de combate 
};

Añadiendo la palabra clave typedef delante, se puede definir un sinónimo de struct enemigo de la forma siguiente:

typedef struct enemigo{ 
    char tipo; 
    float molestia; 
    float x,y,px,py; 
    int fuerza; 
}t_enemigo;

y de forma más concisa se puede definir su tipo de tupla:

typedef struct{ 
    char tipo; 
    float molestia;  ...