C语言语法规范

C语言语法规范

对于C语言的一些规范,总结了网上比较常见的,小白新手可以打印出来,反复看,希望大家的代码都可以美如诗!!

1.函数定义

如何使用花括号{}
首先每个函数的定义和说明都应该单独起行,函数名和函数体的花括号应该各占一行,并且在函数体结尾的花括号后面,加上注释,代表该函数是否结束。

示范如下:函数声明

void fun_test(int val)
{

}/*fun_test*/

2.空格与空格的使用

下列则是需要加空格的场合

  • 在逗号后面和语句中间的分号后面加,如
    int i, j, k;
    for(i = 0; i < n; i++)
        k = fun_test(i);
    
  • 在运算符的两边各留一个空格加,如
    a > b;
    a >= b;
    a = b;
    a >> 1;
    
  • 在关键字两侧加,如
    if (a == b) 
    //如果不加则如下所示,对比同上写法,是否感觉如上写法更具美观和直观。
    if(a == b)
    
  • 在类型与指针说明符指针加,如
    char *p==;
    

不加空格的场合

  • 在结构体成员引用符号 .-> 左右不能加
    pStud->name, student.id
  • 不在行尾添加空格或Tab
  • 函数名在左括号之间不能加,如
    fun_test(...)
    
  • 指针说明符*与变量名之间不要加空格
    int *p; 不要写成 int * p;
    
  • 符合运算符中间不能加空格(会导致语法错误)
    a + = b;    a < = b; 都是错误的
    

那什么时候该换行还是空格
~函数的变量说明与执行语句之间加上换行
~每个函数内的主要功能块之间用换行区别开来
~不要在一行中写多条语句

int main(void)
{
    int i = 0;
    int sum = 0;    //变量说明
    
    for(i = 10; i > 0; i--) //执行代码
    {
        sum += i;
    }
}

3.缩进格式

缩进
一般用Tab键,一个Tab 4个空格间距

4.嵌套语句块的使用格式

遇到if, switch, for, 花括号的左括号应该单独起一行,与关键字对齐,可以使程序结构更清晰明了,避免出错。

  1. 即使语句块中只有一句语句,也建议用花括号包括

  2. 对于比较长的块,在末尾的花括号内加上注释,以表示该语言块结束

        if (val != 0)
        {
            if (val > max)
            {
                max = val;
            }
        } else {
            printf("error-- val is invalid\r\n");
        } /* if (val != 0) */
    

5.注释规范

5.1 书写规范

  1. 注释必须清晰,准确描述内容。
  2. 对于代码中复杂部分,必须加以注释说明,且注释量要适中。
  3. 注释内容尽量采取英文,中文的话,不同编译器打开,可能由于格式不同,导致中文乱码,对于工程较大的情况来说,这无疑会很致命。
  4. 注释应该写在要说明的内容之前,而不是在其后面。(你细品,假设一个很大的函数,你看完才看到后面的注释,你会是什么心情)

5.2 注释风格

  1. 强调注释
    /*
    * ***********************************
    * 强调注释
    * ***********************************
    */

  2. 块注释
    /*

    */
    
  3. 单行注释
    /* */ 建议还是用这个
    // 用这个比如后期需要再加注释,导致太长,换行还需要再加,格式又得重新调整,会比较麻烦

5.3何时需要注释

  1. 假如函数或变量名,不足以说明其用途,这个时候就需要用注释来说明了。
  2. 如果为了提高性能,采取某种语法或者方式使代码难以理解,更需要使用注释加以说明。
  3. 对于一个较长的程序段落,也需要加以注释说明。
  4. 代码中调用某些复杂算法,或者库,建议注明。
  5. 调试代码时发现某段落容易出错,也应该注明。

6.命名规范

6.1 常量、变量

  1. 常量用大写字母表示
        #define NUM         10
        #define MAX_NUM     20  //多个单词用_连接
    
  2. 变量定义
    2.1 (具体可以百度到对应的命名规范,如驼峰命名法,帕斯卡命名法、匈牙利命名法)
    2.2 不要使用拼音去命名。
    2.3 使用缩写时,应使用约定成俗的,而不是自己编造的。
    2.4 多个单词组成的变量名,除了第一个单词外,其他单词首字母最好大写,如gUserData;

6.2 函数命名

最好一眼能让人读懂函数的用途

其他小技巧

  • 函数一般情况,应该少于100行
  • 函数定义一定要包含返回类型
  • 指针变量要初始化或置为NULL

看都看到这了,麻烦各位看官老爷给个点赞关注,后面会继续分享,持续补充,有什么更好的建议,评论区讨论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值