C 和指针
- C和指针 这本书是给学习过高级语言但没学过C的人准备的(而且是上古时代),入门不浅,内容过时 1
Tips
- 使用#if 0 ........#endif去除代码
- 警惕三字母词
- typedef声明的标识符是内部链接的
- 可用寄存器有限,函数用之前要在运行时堆栈中保存原有数据
- 自动变量初始化与赋值无差别
- 注意for与while在使用continue时的区别 (迭代)
- 算术移位与逻辑移位取决于实现
- 内嵌赋值可能因为截断而发生错误
- 三元运算符先判断后运算 (没运算的不会有副作用)
- 真值太多了,if(a)!=if(a==TRUE)
- 移位必须是非负
- 指针的比较标准保证可以比较数组与数组最后的下一个位置,但不保证非数组或者数组前一个位置的情况,但实现可能会按照你的预期
- 结构会自动对齐,所以安排好成员顺序
- 一位的signed int 只有-1和0
- 警惕内存分配失败,文件打开失败
- 用sizeof提高可移植性
- 注意缓冲区大小
- 调试用的printf后强制刷新
- 注意分配的缓冲区的生存周期
- 链接器决定外部标识符的最大长度
这本书每一章后的总结非常好,建议看总结就行