In the C language, the number of bytes for a double, long, unsigned, int, char type data
http://blog.csdn.net/lyl0625/article/details/7350045
============================
I can't remember, put it down:
is related to the machine word length and compiler:
Therefore, the width of the int,long int,short int may vary depending on the compiler. But there are several ironclad principles (Ansi/iso):
1 sizeof (short int) <=sizeof (int.) 2 sizeof (int) <=sizeof (long int) 3 short int should be at least 16 bits (2 bytes) 4 long int should be at least 32 bits.
Unsigned is an unsigned meaning.
For example:
16-bit compilers
Char:1 byte char* (i.e. pointer variable): 2 bytes short int:2 bytes int:2 bytes unsigned int:2 bytes float:4 bytes double:8 bytes long:4 bytes long long:8 bytes UN Signed Long:4 bytes
32-bit compiler (see here, compared with 16-bit machine, 64-bit machine, bold type is different, the rest is the same)
Char:1 bytes char*(that is, pointer variables): 4 bytes (32-bit addressing space is 2^32, which is 32 bit, or 4 bytes. The same 64-bit compiler) (16-bit machine, 32-bit machine, 64-bit machine are different)
Short int:2 byte int: 4 bytes (16-bit machine is 2b,32 bit &64 bit is 4B)int : 4 bytes (16-bit machine is 2b,32 bit &64 bit is 4B)
Float:4 bytes of Double:8 bytes
Long: 4 bytes (16 bit &32 bit is 4b,64 bit is 8B) long long:8 bytes Long: 4 bytes (16&32 bit is 4b,64 bit is 8B)
64-bit compilers
Char:1 byte char* (i.e. pointer variable): 8 bytes Short int:2 bytes Int:4 bytes unsigned int:4 bytes float:4 bytes double:8 bytes long:8 bytes long long:8 bytes UN Signed Long:8 bytes
In the C language, the number of bytes for a double, long, unsigned, int, char type data