常见的编程错误:
- 编译型错误,与语法错误一样。
- 链接型错误,引用函数的时候,函数不存在(或者函数名书写错误)
- 运行时错误(需要通过调试排查错误)
C 数据存储:
整形类型:
- short—2byte—16bit
- 如果是有符号的,最高位表示符号位,0表示正数,1表示负数。
- 那么意味着unsigned short与short和sign short的大小就有区别了。
- ps.char在存储时是存储ASCII码的,所以算作整形。
- ps.%u用来打印unsigned型
构造类型:
- 数组类型,结构体类型(struct),枚举类型(enum),联合类型(union)
- int arr[10] ——arr的类型是:int [10]
指针类型
浮点类型
- 原码,补码,反码:
- 补码就是符号位不变,其他位置对原码进行取反。
- 反码就是对补码进行+1。
- ps.正数的补码与反码就是其本身。
char类型:
- 10000001——>10000000——> -127
- 10000000——>直接解析位 -128
大小端字节序存储:
低———>———>——>———>——>———>————高
- 大端字节序存储:最低位字节数据存放在高地址处,把高位字节数据存放在低地址处。
- 小端字节序存储:与上相反。
问题:如何写一个程序判断是什么类型的字节序存储法?(百度题)
ps.注意理解这道题的(char*)&a;
char a=-1;signed b=-1;unsigned= -1;
按照%d输出,会出现什么答案?(ps.注意整形提升,注意%d。)
- 补充:整形提升是按照变量的数据类型的符号进行提升的。
- signed类型:高位补充符号位,负数高位补充1.
- unsigned类型:高位全部补0.