一、数据长度(字节数)
类型 | short | int | long | Long long | float | double | char | char* |
16位 | 2 | 2 | 4 | 8 | 4 | 8 | 1 | 2 |
32位 | 2 | 4 | 4 | 8 | 4 | 8 | 1 | 4 |
64位 | 2 | 4 | 8 | 8 | 4 | 8 | 1 | 8 |
整型类型:short 至少占用2个字节
int 建议为一个机器字长,32位环境下为4字节,64位环境下为8字节
short 的长度不能大于int, long 的长度不能小于int
无符号整型和有符号整型长度一致
浮点类型:float占用4个字节,double占用8个字节。
字符类型:char变量在内存中存储的是字符对应的ASCII码值,所以长度为1个字节。
指针类型(char*):32位的寻址空间是2^32, 即32个bit,也就是4个字节,其他同理
二、sizeof 操作符
sizeof 用来获取某个数据类型或变量所占用的字节数。
sizeof 是C语言中的操作符,不是函数,所以可以不带( )。
如果后面跟的是变量名称,那么可以省略( ),如果跟的是数据类型,就必须带上( )。
int length = sizeof a;
int length = sizeof(int);