C中数据类型占用内存的大小

数据类型表示存储何种类型的数据,从内存来看,就是占用的内存大小
C标准并未明确规定各数据类型占用多少字节的存储空间。
各数据类型的内存大小与操作系统位数、编译器有关,可以在代码中使用sizeof()进行查询。

常用规则

1、字符类型:char占用1个字节
表示的是字符对应的ASCII码
2、浮点类型:float占用4个字节,double占用8个字节
3、sizeof(long long) >= sizeof(long) >= sizeof(int) >= sizeof(short)
long long至少64位,long至少32位,short至少16位
int建议为一个机器字长(32位环境下为4字节,64位环境下为8字节)
4、默认情况下,short、int、long、long long都是带符号的,即signed
char可以表示signed char或unsigned char,具体表示哪种由编译器决定

参考表格(以实际为准)

操作系统位数\数据类型16位系统32位系统64位系统
char(有符号或无符号,由编译器指定)1字节1字节1字节
(signed/unsigned) char1字节1字节1字节
(signed/unsigned) short2字节2字节2字节
(signed/unsigned) int2字节4字节8字节
(signed/unsigned) long4字节4字节8字节
(signed/unsigned) long long8字节8字节8字节
float4字节4字节4字节
double8字节8字节8字节