一直以来,我带人都是言传身教,最近公司又招了批新人,让我给培训一下C语言,趁现在培训的劲头还在,写下寥寥几句先.
一. 写程序的总体风格
//第一部分写头文件,以下三个是最常用的
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//定义全局变量
//宣称子函数
void function_a(const char *strSrc, char *strDest);
void main()
{
//1.定义变量区
int i,j;
char str1[100], str2[100];
//初始化相关变量
i=j=0;
memset(str1, 0, sizeof(str1));
memset(str1, 0, sizeof(str2));
//3.代码段
//3.1代码段1业务逻辑注释
function_a(str1, str2);
//3.2代码段2业务逻辑注释
//相应代码
return;
}
/*
*函数:function_a - 实现xxx功能
*传入参数:strSrc - xxx含义
*传出参数:strDest - xxx含义
*返回值:0-表示xx, 1-表示yy ...//注:没有返回值可以不用这一行,没有参数,上面两行也可以不写
*/
//注:const是为了防止strSrc在function_a函数中被误修改,影响调用者的逻辑,定义函数时,能用const要尽量用
void function_a(const char *strSrc, char *strDest)
{
//1.定义变量
int i,j;
char strTmp[50];
char *p;
//2.判断参数,注:可防止掉大部分的内存溢出
if(strSrc == NULL || strDest == NULL)
{
return;
}
//3.初始化相关变量
i=j=0;
p = strSrc;
memset(strTmp, 0, sizeof(strTmp));
//4.代码段
for(i=0; i<10; i++)
{
//循环代码段
}
return;
}
要点:
1. 子函数前一定要进行函数功能的说明及参数、返回值的说明;
2. 一定要对业务逻辑进行注释;
3. 子函数一定要判断参数的正确性,可以避免掉大部分的内存溢出;
4. 能用const的地方一定要用const,可以避免掉参数被误修改;