宣布主要原型

use*_*904 13 c standards function-prototypes

有什么理由我从未在C程序中看到main的原型声明,即:

int main(int argc, char* argv[]);

int main(int argc, char* argv[])
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

似乎总是不一致..

Joh*_*ode 11

C语言标准,草案n1256:

5.1.2.2.1程序启动

1命名程序启动时调用的函数main.该实现声明此函数没有原型.它应该定义为返回类型int且没有参数:

int main(void) { /* ... */ }

或者有两个参数(这里称为argcargv,虽然可以使用任何名称,因为它们是声明它们的函数的本地名称):

int main(int argc, char *argv[]) { /* ... */ }

或等效的; 9)或以其他一些实现定义的方式.

强调我的.

  • 据我所知,这与问题无关:用户级代码不被视为实现的一部分...... (5认同)
  • 引用确实无关紧要,它没有回答问题。 (2认同)

Cha*_*esB 6

声明原型意味着你想在别处调用它,这对于main()函数没有任何意义.

  • @jinawee 标准允许,意义不同。为什么在别处需要 main 函数声明? (2认同)