C语言编程规范总结

变量规范总结:

1.一定要见名识义,不能定义不能理解的名字 如int i,推荐c++的命名方式,如

   int n_student_num; //既能知道是整数,又能知道是学生的人数

2. 变量定义的时候最好初始化,虽然编译器默认会提供默认值,但是有些还是需要初始化的好 如

 int * p = NULL;

3. 释放malloc指针变量的时候,一定要置指针为NULL,防止成为野指针,访问到非法地址,也可能遇到多次释放指针导致的错误,如

 if(NULL !=p)// 或者if(p) 因为NULL默认定义为0 其实就是非法操作的0x00000000地址

{

   free(p);

   p =NULL;

}

函数规范总结:

1.递归函数在需要编写的时候定义函数的出口,否则栈会溢出

2.不要在函数中使用全局变量,尽量让函数从意义上是一个独立的功能模块,在C++中可以使用类中定义const 变量

3. 参数名要能够体现参数的意义 如:

   void strcopy (char *dest, char *src);

4. 如果参数是指针,且仅作输入参数用,则应在类型前加const,以防止该指针在函数体内被意外修改,如:

   void str_copy (char *dest, const char *src);

5. 在函数体的“入口处”,对参数的有效性进行检查,对指针的检查尤为重要 如传过来一个指针*p

     if(NULL == p)

         return -1;

6.语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁,可以使用静态变量,常量,全局变量,堆,或者返回值来解决

7.避免函数有太多的参数,参数个数尽量控制在4个以内,否则使用指针void *来传递任何变量或者结构体等

8.有时候函数不需要返回值,但为了增加灵活性,如支持链式表达,可以附加返回值

以后会继续增加合适的规范。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值