Jos*_*Lee 10 c program-entry-point void
什么是虚空?有人提供一些例子,正确使用虚空吗?当我们写void main (void)或有main()什么区别?
Omk*_*ant 12
在C中,通常(void)意味着函数调用中不需要参数,而()意味着参数的数量不明确.
例如
void foo(void)
{
// body
}
void bar()
{
//body
}
Run Code Online (Sandbox Code Playgroud)
在呼唤环境时,
foo(); // Correct
foo(1); // Incorrect
bar(); // Correct
bar(1); // Also correct
Run Code Online (Sandbox Code Playgroud)
这是一般性的解释.
但对于main()的情况,C99标准说,
5.1.2.2.1程序启动
程序启动时调用的函数名为main.该实现声明此函数没有原型.它应该使用int的返回类型定义,并且没有参数:
int main(void) { /* ... */ }
要么
有两个参数(这里称为argc和argv,虽然可以使用任何名称,因为它们是声明它们的函数的本地名称):
int main(int argc, char *argv[]) { /* ... */ }或等效的;
要么
在其他一些实现定义的方式.
所以,在这个void main(void)返回类型应该是int.
最后,因为main(),返回类型没有给出,所以隐式返回类型int.
| 归档时间: |
|
| 查看次数: |
35492 次 |
| 最近记录: |