用C函数原型

时间:2018-10-06 20:56:04

标签: c ansi

让我们假设以下程序:

#include <stdlib.h>
int main()
{
  int a,b,;
  scanf("%d",&a);
  scanf("%d",&b);
  c = func(a,b);
  printf("%d",c);
  return 0;
}

int func(int a, int b)
{
  return a+b;
}

现在,让我们假设以下选项可以为函数“ func”定义原型。

选项1:

int func(int a, int b);

选项2:

int func(int , int);

选项1和2有什么区别?它们具有完全相同的效果吗?

2 个答案:

答案 0 :(得分:3)

1和2 完全相同。 C编译器允许您输入参数名称,但是它们是任意的:如果它们是合法名称(例如,它们不能是关键字或包含前导双下划线),则编译器将忽略它们。

答案 1 :(得分:1)

这两个选项相同,但是第一个选项提供了有关参数含义的更多信息(用于更高级的功能)。

clang-tidy有一条规则,警告您不要编写选项2。