Use appropriate data types consistently and strictly.
Scalable types can grow and scale without modification to future architectures.
Perform boundary checking on integral type ranges. Using the typedef s and constants included in these header files protects your code from underlying data model changes. A pointer can be moved to or from these data types without corruption. If this macro tests false, the unsigned 64-bit data type is not supported on the platform. The after code prints a 32-bit number, regardless of the platform.