I think it isn&#x27;t clear what the standard means here.  If uint8_t exists it must be a typedef to unsigned char (edit: unless to3m is right that there could be a distinct 8-bit implementation-defined integer type, which I didn&#x27;t think was allowed but maybe it is), so the question is if a typedef to a character type is a character type.  My reading is that it isn&#x27;t, but I&#x27;ve heard enough good C programmers assume that it is that either I am wrong or hopefully compilers will always allow uint8_t to work in this case.  It certainly makes more sense to use uint8_t than unsigned char for that usage, but ideally maybe there would be a standard byte_alias_t or such.