/* Test the size of various data types
 *
 * D. Edwards, 8/23/2012
*/


#include <stdio.h>
#include <math.h>
#include <stdint.h>

int main(void)
{
	char c1;
	short int i2;
	int idefault;
	long i4;
	long long int ilong;
	uint64_t ulong;
	
	float f4;
	double f8;
	long double flong;

	printf("\nsizeof(char)          = %d bytes\n",sizeof(c1));
	printf("sizeof(short int)     = %d bytes\n",sizeof(i2));
	printf("sizeof(int)           = %d bytes\n",sizeof(idefault));
	printf("sizeof(long)          = %d bytes\n",sizeof(i4));
	printf("sizeof(long long int) = %d bytes\n",sizeof(ilong));
	printf("sizeof(unint64_t)     = %d bytes\n",sizeof(ulong));
	printf("sizeof(float)         = %d bytes\n",sizeof(f4));
	printf("sizeof(double)        = %d bytes\n",sizeof(f8));
	printf("sizeof(long double)   = %d bytes (%d bits)\n\n",sizeof(flong),
			8*sizeof(flong));

	ilong = 600851475143LL;
	ulong = 600851475143LL;

	printf("ilong = %lld\n"  , ilong);
	printf("ulong = %llu\n\n", ulong);
	
	return 0;
}

/*---------------------------------------------------------------

Compile:  gcc -o sizeof sizeof.c

Output:

sizeof(char)          = 1 bytes
sizeof(short int)     = 2 bytes
sizeof(int)           = 4 bytes
sizeof(long)          = 4 bytes
sizeof(long long int) = 8 bytes
sizeof(float)         = 4 bytes
sizeof(double)        = 8 bytes
sizeof(long double)   = 12 bytes
*/
