菜单

c语言中各种数据类型的长度

2019年11月15日 - 电脑百科

char/signed char/unsigned char: 1个字节;
char*(即指针变量):
2个字节(16位编译器)
4个字节(32位编译器)
8个字节(64位编译器)
short int: 2个字节
int/unsigned int:
2个字节(16位编译器)
4个字节(32/64位编译器)
long int: 4个字节
float: 4个字节
double: 8个字节
long double: 8/10/12/16?
long/unsigned long:
4个字节(16/32位编译器)
8个字节(64位编译器)
long long: 8个字节
string: 字符个数+1

char -128 ~ +127 
short -32767 ~ + 32768 
unsigned short 0 ~ 65536 
int -2147483648 ~ +2147483647 
unsigned int 0 ~ 4294967295 
long == int
long long -9223372036854775808 ~ +9223372036854775807 
double 1.7 * 10^308 

char/unsigned char: 1个字节;
char*(即指针变量): 2个字节(16位编译器) 4个字节(32位编译器)
8个字节(64位编译器) short int: 2个字节…

unsigned int 0~4294967295 
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161

__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

 

下面给出不同位数编译器下的基本数据类型所占的字节数:

其中1024字节为1M。

16位编译器

char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int:  2个字节
unsigned int : 2个字节
float:  4个字节
double:   8个字节
long:   4个字节
long long:  8个字节
unsigned long:  4个字节

 

32位编译器

char :1个字节
char*(即指针变量):
4个字节(32位的寻址空间是2^32,
即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int:  4个字节
unsigned int : 4个字节
float:  4个字节
double:   8个字节
long:   4个字节
long long:  8个字节
unsigned long:  4个字节

64位编译器

char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int:  4个字节
unsigned int : 4个字节
float:  4个字节
double:   8个字节
long:   8个字节
long long:  8个字节

unsigned long:  8个字节

 

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图