代码风格、变量命名、花括号、注释说明要形成统一规范,具有一致性。
scanf向数组输入时,注意格式化中定义好宽度,以免溢出。还有一点VC中scanf只支持部分正则表达式(不完整)。scanf中输%转义用%%而不是\%。
应用程序可访问内存地址空间为2G-128K,其中0-64K用来检查空指针,7FFFFFFF-64K到7FFFFFFF系统保留用与内核交互。
溢出指有符号数,进位是无符号数。溢出恢复正确值较复杂,代价大,进位相对简单,只要把CF标志位与高位数相加。
字符串存储格式,一种以0结尾,另一种开头存字符数,后面跟着字符串。前者灵活性好,增删简易但查找字串符数组开销大;后者正好相反。
几种取整约定:
向下取整(负方向),如3.5=3,-3.5=-4;
向上取整(正方向),如3.5=4,-3.5=-3;
向0取整(C语言规则),如3.5=3,-3.5=-3;注意一点右移操作的效果是向下取整,所以对负数右移的结果如果无法整除将与默认结果(直接丢弃小数)不同。(注:C语言位移有符号变量,符号位不动,别和汇编位移搞混)
取模,例如X%Y得整数商Z余数R,则R=X-YZ,由此可知R的正负号与X相同。