# C Constants

> Learn how to work with constants in C using the const keyword or a #define directive, plus the convention of naming constants in uppercase for readability.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-02-01 | Topics: [C](https://flaviocopes.com/tags/clang/) | Canonical: https://flaviocopes.com/c-constants/

In the last post I introduced [variables in C](https://flaviocopes.com/c-variables-types/).

In this post I want to tell you everything about constants in C.

A constant is declared similarly to variables, except it is prepended with the `const` keyword, and you always need to specify a value.

Like this:

```c
const int age = 37;
```

This is perfectly valid C, although it is common to declare constants uppercase, like this:

```c
const int AGE = 37;
```

It's just a convention, but one that can greatly help you while reading or writing a [C](https://flaviocopes.com/c-introduction/) program as it improves readability. Uppercase name means constant, lowercase name means variable.

A constant name follows the same rules for variable names: can contain any uppercase or lowercase letter, can contain digits and the underscore character, but it can't start with a digit. `AGE` and `Age10` are valid variable names, `1AGE` is not.

Another way to define constants is by using this syntax:

```c
#define AGE 37
```

In this case, you don't need to add a type, and you don't also need the `=` equal sign, and you omit the semicolon at the end.

The C compiler will infer the type from the value specified, at compile time.
