数据类型
K&R给出了7个数据类型关键字;C90新增2个;C99有添加3个
1 | K&R C90 C99 |
short, long, unsigned, signed是整数类型的变式
整型
之所以存在这么多种整型类型的原因是,整型可以有正负号和取值范围,再者满足不同情况选择不同类型
以二进制数存储
int(正负都可以), long, long long, unsigned(非负), signed(可以和有符号的其它类型搭用)
long的实际数据后要加L,unsigned long要加UL
1 | int a; |
int类型溢出时,会从int能表示的最小负值开始重新赋值;unsigned无符号类型溢出从0开始
由于存储unsigned时没有符号位,所以unsigned要比int所能表示的范围大
有符号
1 | char |
无符号
1 | unsigned char |
浮点数
拆分为小数和指数部分,分别存储
1 | float a = 3200.0 // 0.32E4 |
字符char
用一个字节存储
用单引号;%c
1 | char a = 'C'; |
二进制,十进制,八进制,十六进制
十六进制:0x,0X,%x
八进制:0,%o
需要显示前缀用:%#x,%#o
1 | int a = 100; |