### 3.13 `tolower`—translate characters to lowercase

Synopsis

         #include <ctype.h>
         int tolower(int c);
         int _tolower(int c);

Description
`tolower` is a macro which converts uppercase characters to lowercase, leaving all other characters unchanged. It is only defined when c is an integer in the range `EOF` to `255`.

You can use a compiled subroutine instead of the macro definition by undefining this macro using ``#undef tolower`'.

`_tolower` performs the same conversion as `tolower`, but should only be used when c is known to be an uppercase character (`A`–`Z`).

Returns
`tolower` returns the lowercase equivalent of c when it is a character between `A` and `Z`, and c otherwise.

`_tolower` returns the lowercase equivalent of c when it is a character between `A` and `Z`. If c is not one of these characters, the behaviour of `_tolower` is undefined.

Portability
`tolower` is ANSI C. `_tolower` is not recommended for portable programs.

No supporting OS subroutines are required.