!!!C Data Type Sizes

| ||MSOFT 32||MSOFT 64||MSOFT 64 Cygwin||Linux 32||Linux 64||Max OS/X<br>Intel/M1
||char|1|1|1|1|1|1
||short|2|2|2|2|2|2
||int|4|4|4|4|4|4
||long|4|4|8|4|8|8
||long long|8|8|8|8|8|8
||float|4|4|4|4|4|4
||double|8|8|8|8|8|8
||char*|4|8|8|4|8|8

!!Program Used

{{{
#include <stdio.h>

#define PS(x)	printf("sizeof(" #x ") = %d\n", (int)sizeof(x))

int main()
{
	PS(char);
	PS(short);
	PS(int);
	PS(long);
	PS(long long);
	PS(float);
	PS(double);
	PS(char *);
	return 0;
}
}}}

! int to pointer code

{{{
/* an int that is the same size as a pointer */

#include <stdint.h>

intptr_t  myInt;
void *ptr = (void *) 123;

myInt = (intptr_t) ptr;
}}}