也许这仅仅是为了展示。在阅读K& R时, 1.7功能的开头显示了电源功能的示例。第二行代码声明int power(int m, int n);
为什么第一个参数n
的名称与函数源中的第一个参数base
的命名方式不同:
int power(int base, int n)
{
...
}
这只是为了表明这些名字不需要相同吗?这种做法应该避免吗?为什么或为什么不呢?
答案 0 :(得分:4)
类型而不是名称是原型声明中的重要内容。有些人省略了声明中的参数名称;一些在声明中使用更多的描述性名称(因为人们可能需要在标题中读取它们)而不是在函数定义中。相反的情况似乎就是这样;定义中的名称比声明中的名称更有意义。
纯粹是风格。我通常认为在声明和定义中使用相同的名称,但有时定义所需的名称(解释参数)过于冗长,无法在函数定义中使用。
请参阅Stroustrup的“C ++的设计和演变”,讨论为什么命名参数不是C ++的一部分。是的,这是C ++,但那里的参数(主要是声明和定义之间不必要的耦合)也适用于C.