Use data types defined in stdint.h for better portability. These include:

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.