1. 首页 > 科技

C++“int main()”其中main应该叫主函数还是函数头?两个叫法有什么区别(在C语言中,int main()和int main(void)有什么区别?

C++“int main()”其中main应该叫主函数还是函数头?两个叫法有什么区别(在C语言中,int main()和int main(void)有什么区别?)

在C语言中,int main()和int main(void)有什么区别?

原发布者:a64721579

voidmain与intmain之间的区别是什么?

这是一个常见的问题。我们来探讨一下这个问题,并深入研究一些有关main()函数不同版本的更多的东西。

C与C++在main()函数方面的标准有所不同,所以我们要分开讨论。

对于C语言:

在C89标准中,main()的形式是可以接受的,当然使用如下的C99标准更明智,因为在这个标准中只有如下格式才能被接受:

intmain(void)

intmain(intargc,char*argv[])

我们可以对main函数做轻微的改变,比如我们可以用一个自定义的类型代替int(当然这个类型必须被定义为int型),还可以把*argv[]改为**argv,等等。

如果我们不想在命令行下对程序输入参数,可以选择第一种形式。

其实第二种形式的两个参数argc,argv的名称是可以改变的,但保持原样是更明智的选择。

main()函数的返回类型必须为int;返回的整形值作为传递给调用者的一个返回码。(thisallowsareturncodetobepassedtotheinvoker)

对于C++:

以下是可以接受的格式:

intmain(intargc,char*argv[])

intmain()

第一种格式遵从C99标准;

第二种格式在不需要通过命令行向程序传递参数时使用,与C99标准中规定的格式intmain(void)效果相同。

(C)intmain()与intmain(void)之间的区别:

很多C程序员都曾搞错的一个概念,就是以为这样一个函数不接受任何参数:

intmain();事实上,这个函数被认为可以接受

主函数int与void有什么区别?C语言

主函数返回值可以定义为两种,int型或void型。区别在于int型main函数需要有返回值,而void型则不需要。

1、 main函数返回值作用:

每个C程序最终的目标是为了执行,也就是编译成可执行文件后,被运行。 main函数的返回值将被传递到主调进程中,主调进程可以通过返回值判断是否执行正常。

2、在标准的C语言中,推荐主函数有返回值,并一般约定返回0代表程序工作无问题。

3、在调用一个可执行文件时,并不能很直观的得到返回值,而需要额外的操作。 比如在shell脚本或者批处理中以变量保存返回值并显示,或者通过echo语句显示特定的内置变量值。

4、由于获取返回值比较麻烦,并不是特别实用,所以更常用的方式是在程序中添加打印信息来提示是否执行成功。于是才有了void类型的main函数。

5、使用void型main函数,等于放弃了通过返回值来表明程序是否运行成功的渠道,这对于在shell脚本或者批处理文件中调用可执行程序时,判断是否执行政策是很不利的,所以如果想要所写的程序可以有更强的适应性,还是使用int作为main的返回值类型为好。

int main 和int main的区别

用viodmain()定义的主函数,只完成指定的功能而不返回任何数值。用intmain()定义的主函数,除完成指定的功能外,还可用以返回一个所需数值。

void main()和main有什么区别

main()又返回值;

void main()无返回值;

区别就是结尾处有没有return o;

#include <stdio。h>

int main ()

{

printf ("helloworld");

return 0;

}

#include <stdio。h>

void main ()

{

printf ("helloworld");

//没有return 0了,直接结束了。。。

}