The actual size of the built-in integral types are machine dependent (see also the Tip Standards Provide Guarantees Regarding the Sizes of Integral Types):
//built-in integral types with machine-dependent sizeschar int short long
When you need explicit, platform-independent sizes, you can use the following standardized typedef’s instead:
int8 //signed 8 bitsint16 int32
These typedef’s are defined in the standard header
uint8 //unsigned 8 bitsuint16 uint32