A "char" in the C programming language is a data type with the size of exactly one byte, which in turn is defined to be large enough to contain any member of the “basic execution character set”. The exact number of bits can be checked via macro. By far the most common size is 8 bits, and the POSIX standard "requires" it to be 8 bits. In newer C standards "char" is required to hold UTF-8 code units which requires a minimum size of 8 bits.