is related to machine word length and compiler: Therefore, the width of 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 A 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
View Code
32-bit compilers
Char:1 bytes char* (that is, pointer variables): 4 bytes (32-bit addressing space is 2^32, which is 32 bit, or 4 bytes. Similarly 64-bit compiler) short int:2 byte int: 4 bytes unsigned int:4 bytes float: 4 bytes Double: 8 bytes Long: 4 bytes Long long: 8 bytes Unsigned A long: 4 bytes
View Code
64-bit compilers
Char:1 byte char* (that is, 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 unsigned long:
"Reprint" in the C language, the number of bytes for double, long, unsigned, int, char type data