According to the C standard (ISO/IEC 9899:1999), the type of the result of sizeof() is size_t, which is an unsigned integer type. In particular, for HC08, size_t is defined to either 'unsigned char' for the TINY memory model, or 'unsigned int' otherwise.