关于全变量管理
C语言当中各个变量作用域管理
何时使用static
关于函数有效性检查的规定
使用函数参数类型检查和值有效性检查
关于char* 字符串管理
不推荐
char* pstr = ''some string here!"
推荐
char *pstr =my_dump("some string here") ;
/*Some other code be wreited here and finally don't foraget ot release new memory buff */
my_free(pstr) ;
#define my_free(p) do { if (p) free(p) ; } while(0)
关于 do { ...; ..... ; ....; }while (0)的 用法
解决宏定义函数语句块{}后面写分号错误的问题。因为} ; 是错误的 }while (0); 可以躲过编译器的检查 。
关于跨平台int长度问题:
int 长度在不同平台大都是相同的32位占4个字节。但是其他long 类型可能和不同平台有很大关系,所以每个结构体在使用前需要做尺度相同性检查。避免由于不用系统和编译器差异带来数据访问上的故障