User and Reference Guide for the Intel® C++ Compiler 14.0
The 64-bit data model used by OS X* is known as LP64. The use of the LP64 data model ensures that source code created on other platforms can be easily ported to OS X.
The LP64 data model defines these C/C++ types as follows:
int is 32 bit
long, long-long, and pointers are 64 bit
The following C/C++ restrictions and guidelines apply:
An int cannot hold pointers since pointers are 64-bit types in the LP64 data model.
Casting variables from a larger datatype to a smaller one can result in lost data; in general, you should not cast from a 64-bit integer datatype to a 32-bit integer datatype.
Use the correct printf directives for printing types.