# How to check a character value in C

> Learn how to check a character value in C using the ctype.h functions like isalpha(), isdigit(), isspace(), islower(), and isupper() to test a char.

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

When working in C, we can use the `ctype.h` standard library set of functions to check the value of a `char` type variable.

We have access to several useful checks:

- `isalnum()` checks if a character is alphanumeric
- `isalpha()` checks if a character is alphabetic
- `iscntrl()` checks if a character is a control character
- `isdigit()` checks if a character is a digit
- `isgraph()` checks if a character is a [printable ASCII character](https://flaviocopes.com/printable-ascii-characters/) (but not a space)
- `islower()` checks if a character is lowercase
- `isprint()` checks if a character is a [printable ASCII character](https://flaviocopes.com/printable-ascii-characters/)
- `ispunct()` checks if a character is a punctuation character (a printable char, not a space, not alphanumeric)
- `isspace()` checks if a character is a whitespace character (see more later)
- `isupper()` checks if a character is uppercase
- `isxdigit()` checks if a character is an hexadecimal digit (`0`-`F`)

I mentioned that `isspace()` checks if a character is a whitespace character. What is a whitespace character?

- Horizontal tab (HT), `'\t'`, character 9 of the ASCII table
- Vertical tab (VT), `'\v'`, character 11 of the ASCII table
- Form Feed (FF), `'\f'`, character 12 of the ASCII table
- Carriage Return (CR), `'\r'`, character 13 of the ASCII table
- Space, `' '`, character 32 of the ASCII table
- New line, `'\n'`
