int main()和int main(void)之间的区别?

以下是什么意思:


int main(void) {...} 

VS


int main() {...}


我认为这int main() {...}意味着main不接收任何参数(从命令行),但是:


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

做。


但是什么int main(void) {...} 意思呢?什么是无效主张?


我看过这里,但是又有一个不同的问题。


湖上湖
浏览 3683回答 3
3回答

慕容森

在C语言中,在原型中(尽管不是在C ++中),空的参数列表意味着该函数可以接受任何参数(在函数的定义中,它意味着没有参数)。在C ++中,空的参数列表意味着没有参数。在C语言中,要获取无参数,必须使用void。请参阅此问题以获得更好的解释。

杨__羊羊

在C ++中,没有区别,两者相同。两种定义都可以在C语言中使用,但是从技术上讲,使用void的第二种定义在技术上被认为是更好的,因为它明确指出main只能在没有任何参数的情况下调用。在C语言中,如果函数签名未指定任何参数,则意味着可以使用任何数量的参数或不使用任何参数来调用函数。例如,尝试编译并运行以下两个C程序(请记住将文件另存为.c)。
打开App,查看更多内容
随时随地看视频慕课网APP