📜  C C++中的“ int main()”和“ int main(void)”之间的区别?(1)

📅  最后修改于: 2023-12-03 14:39:37.518000             🧑  作者: Mango

C/C++中的“int main()”和“int main(void)”之间的区别

在C/C++中,main()函数是程序的入口,所有的程序都必须从main()函数开始,并且在main()函数结束时结束。但是,main()函数的参数列表可以有不同的形式,比如int main()int main(void)。下面我们将介绍这两种形式之间的区别。

1. int main()
int main() {
    return 0;
}

int main()是最常见的main()函数形式。它表示该函数不需要接受任何参数,并且可以省略return语句的返回值。这种形式的main()函数被广泛使用,在大多数编译器中都能够编译通过。但是,在最新的C++标准中已经不建议使用这种形式。

2. int main(void)
int main(void) {
    return 0;
}

在C/C++标准中,void表示“无类型”,这种形式的main()函数表示该函数没有任何参数。另外,这种形式的main()函数不允许省略return语句的返回值。如果你省略了return语句的返回值,编译器将会发出警告。

3. 区别

在使用int main()时,如果省略return语句的返回值,编译器将会默认返回0。但是,在使用int main(void)时,如果省略return语句的返回值,编译器将会发出警告,并且不会默认返回0。除此之外,这两种形式是等效的。

附加说明

在C++11标准中,还可以使用以下形式的main()函数:

int main(int argc, char** argv) {
    return 0;
}

这种形式的main()函数接受两个参数,argc表示命令行参数的个数,argv表示命令行参数的内容。这种形式的main()函数只有在使用命令行参数时才有意义。