Skip to content

C 和指针

  • C 和指针 这本书是给学习过高级语言但没学过 C 的人准备的(而且是上古时代), 入门不浅, 内容过时 1

Tips

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

这本书每一章后的总结比较好, 建议看总结就行