(1)尽量使用memcpy、memset、memcmp而不使用strcpy、strcmp,除非你确定操作的数据一定是字符串。 声明函数的参数时,定义为char*的变量,不一定确实是字符串类型数据,也可能是一个二进制流数据,最好声明为void×类型 (2)文件的打开和关闭 打开: FILE *fp = NULL; /*初始化*/ fp = fopen(...); if(NULL == fp) 错误处理;
关闭: if(NULL != fp){ fclose(fp) fp = NULL; /*还原初始化*/ }
(3)malloc, free的使用 动态内存分配: int * p = NULL; /*声明并初始化*/ p = (int *)malloc(sizeof(int)); if(NULL == p) 错误处理; 内存释放: if(NULL != p) { free(p); p = NULL; /*还原初始化*/ } (4)准确的函数声明 任何函数,都要有原型(及函数声明)。特别是返回类型为指针型的,一定要声明。 由于在C语言中,系统会把没有声明的函数返回值统统默认为int类型,所以,如果是指针类型没有声明的话,在64位平台上运行时core的机会将大大存在,是一个大麻烦。 俗话说,出来混,总是要还的。平时不注意,到用户现场出问题的可能性较大,难堪、麻烦的总是自己。