# The typedef keyword in C

> Learn how the typedef keyword in C lets you create new type names from existing types, like turning int into NUMBER, and why it shines with structs and enums.

Author: Flavio Copes | Published: 2020-02-26 | Canonical: https://flaviocopes.com/c-typedef/

The `typedef` keyword in C allows you to defined new types.

Starting from the [built-in C types](https://flaviocopes.com/c-variables-types/), we can create our own types, using this syntax:

```c
typedef existingtype NEWTYPE
```

The new type we create is usually, by convention, uppercase.

This it to distinguish it more easily, and immediately recognize it as type.

For example we can define a new `NUMBER` type that is an `int`:

```c
typedef int NUMBER
```

and once you do so, you can define new `NUMBER` variables:

```c
NUMBER one = 1;
```

Now you might ask: why? Why not just use the built-in type `int` instead? 

Well, `typedef` gets really useful when paired with two things: enumerated types and structures.
