C/C++中的基本数据类型
本文其实针对C++及C++中与C兼容的部分
基本数据类型列表
类型 | 含义 | 最小尺寸 | 备注 |
---|
void | 空类型 | | 一般只做函数返回值 |
bool | 布尔型 | 未定义 | 一般字面量0可以代表false |
char | 字符 | 8位 | char的含义可能与unsigned char相同,也可能与signed char相同,由编译器决定,虽然是整数类型,但是一般作为字符类型使用,字面量类似’A’ |
signed char | -128~127 | 8位 | |
unsigned char | 0~255 | 8位 | |
wchar_t | 宽字符 | 16位 | 扩展字符类型 |
char16_t | | 16位 | 扩展字符类型 |
char32_t | | 32位 | 扩展字符类型 |
short | 短整型 | 16位 | 没有short类型的字面量,带符号 |
unsigned short | 无符号短整型 | 16位 | |
int | 整型 | 16位 | 字面量类似100,在我的环境下是32位 |
unsigned int | 无符号整型 | 16位 | 在我的环境下是32位 |
long | | 32位 | 字面量类似100L |
unsigned long | | 32位 | |
long long | | 64位 | 字面量类似100LL |
unsigned long | | 32位 | |
float | 浮点数 | 32位 | 字面量类似100.0F |
double | 双精度 | 64位 | 字面量类似100.0 |
long double | | | 这个只在课本上见到了 |
使用scanf与printf时的转义
类型 | 转义 | 备注 |
---|
char | %c | |
short | %d | 这里%d其实是十进制整型 |
unsigned short | %u | |
int | %d | 其实还有%x表示16进制什么的 |
unsigned int | %u | |
long | %ld | 同理有%lx |
unsigned long | %lu | |
long long | %lld %I64d | 这个有点麻烦,看编译器的,可以都试试,d改成x也行 |
unsigned long | %llu %I64u | |
float | %f | |
double | %lf | 据说C99输出用%f |
long double | %lf | 这个只在课本上见到了 |
据说还有些更宽泛的写法,但是为了保证程序不出错,还是写得严格些。