C’s typedef statement will create an alias for a type, usually for more readable types. A common convention is to end type names with _t.
A typedef literally is just an alias, it does not change what the type represents at all. It is very commonly used for complex function pointers, long awkward struct names, and void pointers.