char16_t

From cppreference.com
< c‎ | string‎ | multibyte
Defined in header <uchar.h>
(since C11)
typedef uint_least16_t char16_t;
(since C11)
Defined in header <stdint.h>
typedef /*implementation-defined*/ uint_least16_t;
(since C99)

char16_t is an unsigned integer type used for 16-bit wide characters and is the same type as uint_least16_t.

uint_least16_t is the smallest unsigned integer type with width of at least 16 bits.

Notes

On any given platform, the width of type char16_t can be greater than 16 bits, but the actual values stored in an object of type char16_t will always have a width of 16 bits.