可能重复:
C 中有多少种编写函数的风格?
我看到了一个用 C 编写的程序,其定义如下main
:
main(ac, av) int ac; char **av;
{
...
}
代替
int main(int argc, char **argc)
{
...
}
我从未见过像第一个代码那样的 C 语法。它是什么,我在哪里可以读到它?
可能重复:
C 中有多少种编写函数的风格?
我看到了一个用 C 编写的程序,其定义如下main
:
main(ac, av) int ac; char **av;
{
...
}
代替
int main(int argc, char **argc)
{
...
}
我从未见过像第一个代码那样的 C 语法。它是什么,我在哪里可以读到它?
第一个是在函数原型成为编写代码的通用/标准方式之前的旧式、ANSI 之前的 C 函数头。
经常这样格式化:
main(ac, av)
int ac;
char **av;
{
...
}
您在最初的括号集之后看到的是 中参数的类型声明main
。另请注意,没有int
声明返回类型。
没有人真正写出那样的代码,坚持第二种形式。
如果您可以挖掘Kernighan 和 Ritchie 的原始白皮书(第 1 版,ANSI 之前),您会看到这种形式(正如 @dirkgently 正确提到的,这有时被称为 K&R 风格 C),就像在其他旧的C书。
如果您对函数声明和定义的过时形式感到好奇,也请查看此链接 。在 google 中搜索“旧式 C 函数声明”会找到很多结果。