算术类型:整形(integral type,包含字符和布尔)和浮点型
类型 | 含义 | size | 字节 | 有效值 |
---|---|---|---|---|
bool | 布尔类型 | 未定义 | 未定义 | |
char | 字符 | 8位 | 1字节 | |
short | 短整形 | 16位 | 2字节 | |
int | 整形 | |||
long | 长整形 | |||
float | 单精度 | 32位 | 4字节 | 7位 |
double | 双精度 | 64位 | 8字节 | 16位 |
另外还有wchar_t
,char16_t
,char32_t
,long long
,long double
类型
有符号和无符号
带符号(signed)和无符号(unsigned),默认都是带符号
类型转换
1.他->布尔类型,0为False,非0为True.布尔类型->他,False为0,True为1
2.浮点->整型,去掉小数位.整型->浮点,小数位为0
字面值常量
整型和浮点型可以写成十进制10
,八进制023
和十六进制0x14
整型字面值符号
后缀 | 描述 |
---|---|
u或U | unsigned |
l或L | long |
ll或LL | long long |
浮点字面值符号
后缀 | 描述 |
---|---|
f或F | float |
l或L | long double |
字符串其实是字符数组(char array),编译器在结尾处增加一个空字符(’\0’),因此实际长度比字面值多1.
字符串字面值符号
前缀 | 含义 | 类型 |
---|---|---|
u | Unicode 16字符 | char16_t |
U | Unicode 32字符 | char32_t |
L | 宽字符 | wchar_t |
u8 | UTF-8(仅字符串常量) | char |