
Typedef Declaration
/* C typedef assigns a name to a type. Its syntax can be really awful. */
#include <stdio.h>
/* Make fred an alias for the type name integer. */
typedef int fred;
/* Assign a type name to an enumeration. */
typedef enum { Sun, Mon, Tue, Wed, Thu, Fri, Sat} day;
int main()
{
fred m = 5;
day today = Fri;
if(today == m) printf("Yes!\n");
else printf("Nope.\n");
}
The typedef is the only way to create type names in plain C.
It essentially aliases for types for other types.
It still exists in C++, but is not used very often, since classes
are usually used to create new types.
Reading: p. 184