Considere este código:
#include <stdio.h>
int main(void)
{
int notas;
notas=100;
return 0;
}
Ahora considere esto:
#include <stdio.h>
int main()
{
typedef int nota_alumno_t;
nota_alumno_t notas;
notas=100;
return -1;
}
Ambas secciones de código hacen lo mismo: crean un tipo int (notas) y le dan un valor de 100. El método para hacer esto en la segunda sección hace que sea más legible porque la declaración typedef hace que nota_alumno_t signifique lo mismo que int. En este ejemplo, la variable notas guarda las "notas" de un estudiante, así que definir notas como una variable de tipo nota_alumno_t le da al nombre de esa variable un contexto.
Uno de los usos principales del typedef es la creación de tipos struct.
struct persona
{
int edad;
char *name;
};
Para utilizar este struct, tenemos que añadir la palabra reservada struct antes de persona
Con typedef, podemos crear un nuevo tipo persona, para que el uso de los struct sea más ergonómico.
typedef struct persona persona_t;
Ahora, para crear una variable de tipo persona, podemos hacerlo así:
Esto es más legible porque no requiere la palabra reservada struct antes de cada variable de tipo persona.