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