一.数据类型分类
数据类型分为内置类型与自定义类型
本文重点说明内置数据类型:字符型,整型,浮点型,布尔类型
1.字符型
[signed] char是有符号的字符型,unsigned char是无符号的字符型。
在C语言中默认的基础数据类型均为[signed] char;
2.整型类型
整型
短整型
长整型
unsigned int与int的区别
- 取值范围不同
- 储存方式不同
- 计算方式不同
3.浮点型
浮点型——顾名思义小数点是可以移动的数是浮点型
单精度浮点型——float
双精度浮点型——double
4.布尔类型
布尔类型是用来表示真假的一种类型,取值范围为true或者false;
0——假,非0——真;
写法非常奇怪:_Bool也可以写做bool——必须包含头文件<stdbool.h>;
二.数据类型的长度
1.sizeof操作符
sizeof是一个关键字,也是一个操作符。专门用来计算sizeof的操作符数的类型长度一样的,单位是字节。
sizeof后是类型不能省略括号,变量名可以省略;
2.数据类型长度计算
由图可知:
char的长度是1个字节(8个比特位)
bool(_Bool)的长度是1个字节
short的长度是2个字节
int的长度是4个字节
long的长度是4个字节
long long的长度是8个字节
float的长度是4个字节
double的长度是8个字节
long double的长度是8个字节
C语言标准规定:sizeof(long)>=sizeof(int)
sizeof中表达式不计算:
整数变量声明为unsigned的好处:同样长度的内存的最大整数值扩大了一倍
注意:以上皆为VS2022 64位环境下的输出结果