Code: Select all
//
// test-size.c
//
//
#include <stdio.h>
#include <math.h>
#include <float.h>
#include <inttypes.h>
#if __x86_64__
int main()
{
printf("integer sizes in 64-bit %s\n\n","");
printf("SizeOf int %llu\n",sizeof(int));
printf("SizeOf unsigned int %llu\n",sizeof(unsigned int));
printf("SizeOf long int %llu\n",sizeof(long int));
printf("SizeOf unsigned long int %llu\n",sizeof(unsigned long int));
printf("SizeOf long %llu\n",sizeof(long));
printf("SizeOf unsigned long %llu\n",sizeof(unsigned long int));
printf("SizeOf long long %llu\n",sizeof(long long int));
printf("SizeOf unsigned long long %llu\n",sizeof(unsigned long long int));
printf("SizeOf intmax_t %llu\n",sizeof(intmax_t));
printf("SizeOf long double %llu\n",sizeof(long double));
return 0;
}
#else
int main()
{
printf("integer sizes in 32-bit %s\n\n","");
printf("SizeOf int %u\n",sizeof(int));
printf("SizeOf unsigned int %u\n",sizeof(unsigned int));
printf("SizeOf long int %u\n",sizeof(long int));
printf("SizeOf unsigned long int %u\n",sizeof(unsigned long int));
printf("SizeOf long %u\n",sizeof(long));
printf("SizeOf unsigned long %u\n",sizeof(unsigned long int));
printf("SizeOf long long %u\n",sizeof(long long int));
printf("SizeOf unsigned long long %u\n",sizeof(unsigned long long int));
printf("SizeOf intmax_t %u\n",sizeof(intmax_t));
printf("SizeOf long double %u\n",sizeof(long double));
return 0;
}
#endif
Windows 32-bit integer sizes
SizeOf int 4
SizeOf unsigned int 4
SizeOf long int 4
SizeOf unsigned long int 4
SizeOf long 4
SizeOf unsigned long 4
SizeOf long long 8
SizeOf unsigned long long 8
SizeOf intmax_t 8
SizeOf long double 12
Windows 64-bit integer sizes
SizeOf int 4
SizeOf unsigned int 4
SizeOf long int 4
SizeOf unsigned long int 4
SizeOf long 4
SizeOf unsigned long 4
SizeOf long long 8
SizeOf unsigned long long 8
SizeOf intmax_t 8
SizeOf long double 16
Linux 32-bit integer sizes
SizeOf int 4
SizeOf unsigned int 4
SizeOf long int 4
SizeOf unsigned long int 4
SizeOf long 4
SizeOf unsigned long 4
SizeOf long long 8
SizeOf unsigned long long 8
SizeOf intmax_t 8
SizeOf long double 12
Linux 64-bit integer sizes
SizeOf int 4
SizeOf unsigned int 4
SizeOf long int 8
SizeOf unsigned long int 8
SizeOf long 8
SizeOf unsigned long 8
SizeOf long long 8
SizeOf unsigned long long 8
SizeOf intmax_t 8
SizeOf long double 16