美文网首页
必须知道的C语言知识细节:函数声明与定义的参数名称可以不一样吗?

必须知道的C语言知识细节:函数声明与定义的参数名称可以不一样吗?

作者: 哪有岁月静好 | 来源:发表于2020-07-25 21:36 被阅读0次

    函数声明和定义一般都有参数,C语言中函数声明关注的是函数返回值类型、函数名称、函数参数类型,其中函数参数名称并不关注,因此参数名称可以在声明时省略,在定义时取任意名称。

    注意:声明和定义是有区别的,具体可以参见前面文章。

    [必须知道的C语言知识细节:声明和定义]

    以下三种方式声明和定义函数都是正确的。

    第一种:常用的,声明和定义函数参数名称均一致。

    int add(int a, int b);   // 函数声明
    
    int add(int a, int b)    // 函数定义
    
    {
    
        return a+b;
    
    }
    

    第二种:函数声明省略参数名称。

    int add(int , int );  // 函数声明
    
    int add(int a, int b) // 函数定义
    
    {
    
        return a+b;
    
    }
    

    第三种:函数声明和定义中参数名称可以不一致。

    int add(int a, int b);  // 函数声明
    
    int add(int c, int d)   // 函数定义
    
    {
    
        return c+d;
    
    }
    

    第三种是正确的,因为C语言中函数并不关注声明的函数参数名称,因此定义时可以对函数参数取任意名称。

    备注:函数定义时参数名称不能省略,如果省略,将无法在函数内部获得传递的实参值,函数参数也就失去作用。按照以下方式省略函数定义中的参数名称,编译会提示错误,函数定义中参数名称被省略。

    错误写法:

    int add(int , int );  // 函数声明
    
    int add(int , int ) // 函数定义
    
    {
    
        return 0;
    
    }
    

    其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。



    相关文章

      网友评论

          本文标题:必须知道的C语言知识细节:函数声明与定义的参数名称可以不一样吗?

          本文链接:https://www.haomeiwen.com/subject/bzzmlktx.html