1.数据类型
(1)基本类型归类
①整形家族
char
【1字节,-27(-128)~27-1(联想ASCII码)】
short
【2字节,-215~215-1】
int
【4字节,-231~231-1】
long
【4/8字节(与环境有关),-231~231-1】【规定为sizeof(long)>=sizeof(int)
】
long long
【8字节,-263~263-1】
其中每个整形又分为有符号类型的和无符号类型的即unsigned x和signed x,一般而言int是signed int其他也相似,特别的char有三种char,unsigned char,char到底是有符号还是无符号取决于编译器的实现。
有符号类型与无符号类型数据“有效”的二进制位不同,最大值不同,范围不同,就比如int的有符号和无符号,一个范围是-231~231-1,另外一个是0~2^32-1.
全为正可选择无符号整形。
②浮点数家族
float
【4字节】:精度较低,存储数值范围较小
double
【8字节】:精度较高
③构造类型/自定义类型
数组类型
结构体类型
关键字struct
枚举类型
关键字enum
联合类型
关键字union
④指针类型
int*、char*、void*
等【4/8字节】
(2)类型意义
①避免浪费内存防止内存不够用
②解决“存”的问题:决定使用此类型需要开辟内存空间大小
③解决“取”的问题:改变看内存视角,可以一个类型一个类型的看,而非一个比特位一个比特位的看。