1.运算符“=”和“==”的误用
在if (“变量”==”常量”)表达式中最好写成 “常量”==“变量”的形式,否则容易造成逻辑判断不正确或者变量被错误赋值。
2.不要使用默认优先级,使用括号来保证自己的运算优先级!
3.网络序:所有设备和系统都是按照设备接收、发送数据的顺序。数据总是按照从“高字节”===>“低字节”的顺序发。
4.主机序:表示的是字节在内存中的存放顺序,对于intel系列CPU,高字节存放高位,低字节存放低位;与网络序相反,一般称为“小尾”或“小端”。而PPC系列的CPU则与网络序相同。
5.局部变量,定义在函数内,只能在所在函数内访问,普通局部变量存放在栈中,生命周期在函数内。
6.静态局部变量,生命周期在整个函数,作用域只在函数内。存放在全局堆中。
7.定义时未初始化或者初始化为0的全局变量存放在bss段(该段操作系统在加载时会自动全部清零),定义时初始化为非0的全局变量存放在data段。
8.不管什么变量都要注意初始化问题!尽量避免对于大数组的全局变量在定义时初始化,这样可以减小app大小,节约存储空间。避免定义不必要的大型全局变量。
9.避免定义过大的局部变量而使堆栈溢出。每个任务的栈分配的空间是有限的
10.大端:低地址存放高字节数据,高地址存放低字节数据
小端:低地址存放低字节数据,高地址存放高字节数据,例如intel CPU
网络字节序