基本数据类型
一、整型
-
有符号整型
类型名 占用内存字节数 取值范围 占位符 signed char 1 -128 ~ 127 %hhd signed short 2 -32768 ~ 32767 %hd signed int 4 -2147483648 ~ 2147483647 %d signed long 4|8 %ld signed long long 8 -9223372036854775808 ~ 9223372036854775807 %lld signed 可以省略,不写就代表有符号
-
无符号整型
类型名 占用内存字节数 取值范围 占位符 unsigned char 1 255 %hhu unsigned short 2 65535 %hu unsigned int 4 4294967295 %u unsigned long 4|8 %lu unsigned long long 8 18446744073709551615 %llu unsigned不能省略
二、浮点型
类型名 | 占用内存字节数 | 取值范围 | 占位符 |
---|---|---|---|
单精度: float | 4 | 1.2E-38 到 3.4E+38 | %f |
双精度: double(默认) | 8 | 2.3E-308 到 1.7E+308 | %lf |
高精度: long double | 12|16 | 3.4E-4932 到 1.1E+4932 | %Lf |
三、字符型
char,占位符为%s
与ASCII表中字符相对应
四、bool(布尔)型
因为bool类型是在c语言之后出现的,所以在c89以后(c99)以打补丁方式新增了bool型
bool 1字节
true 4字节 实际使用的是整数1
false 4字节 实际使用的是整数0
//<几点声明>
//1.头文件 <stdbool.h>
printf("%d %d %d",sizeof(bool),sizeof(true),sizeof(false));
//2.输出为 1 4 4 也就是说用整数类型来模拟
//3.c标准库预定义的宏
#define bool _Bool
#define true 1
#define false 0
为了使用方便,在stdint.h 头文件中对它们进行的类型重定义