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了,直接结束了。。。
}