数据类型
1.基本类型
1.整形:signed与unsigned 接 short, int, long
2.字符型:char
3.实型:double,float
4.枚举 enum 印象里与#define等同的理解即可
2.构造类型
数组、结构体struct、共用体union
3.指针
4.空类型
void
数据类型详解:
1.char
byte | ||
char | 1 | -128~127 或0~255 (特殊编译选项) |
signed char | 1 | -128~127 |
unsigned char | 1 | 0~255 |
原码:最高位(第一位)表示符号位,其余表示值
反码:正数的反码是其本身,负数的反码是在其原码的基础上符号位不变,其余位按位取反
补码:正数的补码就是其本身,负数的补码就是,在其原码的基础上,符号位不变,其余按
位取反后 +1
使用char的越界行为:
char a=128;
char b=129;
unsigned char c2 = -1 ;
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c2);
得到的输出分别为
所以越界行为可以当作一个“循环”来看待
2.short
byte | ||
short | 2 | -32768 ~ 32767 |
unsigned short | 2 | -128~127 |
3.int
byte | 输入输出格式 | ||
int | 4 | %d | -2147483648 ~ 2147483647 |
long int | 4 | %ld | -2147483648 ~ 2147483647 |
unsigned int | 4 | 0 ~ 4294967295 |