在C中,当在函数头和主体之间声明变量时它意味着什么?

Mat*_*hew 6 c syntax

可能重复:
C函数语法,参数列表后声明的参数类型

几次,我遇到过这样的代码:

int
main(argc, argv)
int argc; char **argv;
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

为什么argcargv以这种方式宣布?

Mic*_*eyn 12

这是用于K&R*样式参数列表的语法.

*K&R - Brian Kernighan和Dennis Ritchie,这本书的作者," C程序设计语言".
Dennis Ritchie也是C编程语言的创建者,也是UNIX操作系统的Ken Thompson.

  • 即使您的编译器仍然支持它,请不要将此样式用于新代码.我不能强调这一点.此外,我更新了指向维基百科的链接,其中提供了更多关于风格及其历史的信息. (2认同)
  • 没有优势.这是旧的预标准C风格,虽然它仍然受支持,但它被认为是过时的. (2认同)