In 16 bit architecture size of int is 2 byte
In 32 bit architecture it's 4 byte
Then why in 64 bit architecture it's size is not 8 byte?
32 bit systems:
LP32 or 2/4/4 (int is 16-bit, long and pointer are 32-bit)
Win16 API
ILP32 or 4/4/4 (int, long, and pointer are 32-bit);
Win32 API
Unix and Unix-like systems (Linux, Mac OS X)
64 bit systems:
LLP64 or 4/4/8 (int and long are 32-bit, pointer is 64-bit)
Win64 API
LP64 or 4/8/8 (int is 32-bit, long and pointer are 64-bit)
Unix and Unix-like systems (Linux, Mac OS X)
Other models are very rare. For example, ILP64 (8/8/8: int, long, and pointer are 64-bit) only appeared in some early 64-bit Unix systems (e.g. Unicos on Cray).