Ehm.. I kind' of though this modifiers like long / short expands / reduces amount of memory allocated when variable are created, but...
#include <stdio.h>
#define test_int int
#define long_int long int
#define long_long_int long long int
void main()
{
printf("%i\n", sizeof (test_int)); //output 4
printf("%i\n", sizeof (long_int)); //output 4. Why? wasn't I modified it's size?
printf("%i\n", sizeof (long_long_int)); //output 8
}
For unknown reasons, it prints the size of int and long int as same. I use vc++ 2010 express edition. Sorry, hard to find answer in google, it always shows long and int as separate types.
shortis at least 16 bits,long intat least 32, andlong long intat least 64 bits. Everything else is unspecified. For example, a platform could very well have every type be 256 bits long, and thussizeofevery type would be 1.