Use data types defined in stdint.h for better portability. These include:
// Not all compilers/platforms (especially microcontroller ones) support these last two
This is because the data types such as int can vary in size between platforms. It is guaranteed to be at least 16 bits, but is defined to be the “most natural integer representation for a particular platform”, so on a 32-bit machine an int is likely to be 32 bits wide.