我看到一个用C语言编写的程序,其定义为main
:
main(ac, av) int ac; char **av;
{
...
}
而不是
int main(int argc, char **argc)
{
...
}
我从未在第一个代码中看到过C语法。它是什么,我在哪里可以阅读它?
答案 0 :(得分:7)
第一个是旧式的ANSI前C函数头,之后函数原型成为编写代码的通用/标准方式。
经常格式化如下:
main(ac, av)
int ac;
char **av;
{
...
}
在初始括号组之后看到的是main
中参数的类型声明。另请注意,未声明int
返回类型。
没有人真正编写这样的代码,坚持第二种形式。
如果你可以挖掘original white book by Kernighan and Ritchie(第1版,预ANSI版),你会看到那个形式(正如@dirkgently正确地提到这有时被称为K& R样式C)在其他较旧的C书中。
如果您感到好奇,请查看此链接 Obsolete Forms of Function Declarations and Definitions。在谷歌搜索“旧式C函数声明”会带来一些点击。