The size of the datatype depends on the memory model implemented by the compiler. Think in terms of ILP (Int, Long, Pointer) and the number of bits used for the specified.
, , ILP64, Int, Long Pointer, 64 . LP64 Int 32 , Long Pointer - 64 .
, . , .
, , :
#include <stdio.h>
#define BYTE_SIZE 8
void main(void)
{
int sizeof_int = sizeof(int) * BYTE_SIZE;
int sizeof_long = sizeof(long) * BYTE_SIZE;
int sizeof_ptr = sizeof(&sizeof_int) * BYTE_SIZE;
printf("Size of int: %d, long: %d, pointer: %d\n",
sizeof_int, sizeof_long, sizeof_ptr );
}
64- AMD, 64- Debian Squeeze, , GCC LP64. 64- , 1995 UNIX. , , .