在C语言中定义无参数函数main()的标准方法

6

根据最新的C标准,定义无参数函数的正确方式是什么:int main()还是int main(void)

1个回答

10

两种形式的定义都是有效的(没有void的一种是无效的原型和一个不完整(尽管有效)的声明)。

形式int main(void) { /*任何事情*/ }也为函数提供了原型。
形式int main() { /*任何事情*/ }不提供原型(编译器无法检查是否正确调用它)。

请参阅标准(PDF)

6.7.5.3/14

函数声明符中的空列表是该函数的定义的一部分,指定该函数没有参数。

定义的区别:int main() { /*任何事情*/ }
声明: int main();
以及原型: int main(void);

定义不提供原型;
声明是有效的,但不指定有关参数数量或类型的信息;
原型是可以的,并且与定义兼容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接