C语言的main函数怎么写

这篇文章主要介绍“C语言的main函数怎么写”,在日常操作中,相信很多人在C语言的main函数怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言的main函数怎么写”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联公司是一家专业提供祁县企业网站建设,专注与成都网站设计、网站制作H5开发、小程序制作等业务。10年已为祁县众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

1、main()

 直接的mian()并没有返回值,没有入参。这种写法实际来说,部分编译器会显示警告,并且会返回默认值为int。不过在C89标准中其实是可以的,由于没有声明返回类型,所以才会返回默认值int。

2、void main()

初学者经常会使用的形式,但是并不知道来源在哪,在C89/C99/C11等文档中都没有提到这种形式的痕迹。这种写法的返回值是void,没有参数。值得注意的是,一旦声明是void,在程序退出后,想要获取其退出状态也就不可以了。所以还是不建议返回值为void的。

3、int main(void)

比较常见的写法,这种写法的形参为void,表明它在调用的时候不能传入任何参数,那么它也就不能获取命令行参数了。

4、int main ()

和上面第3种看起来好像没啥区别,但是还是有些许不同。就下面例子来说:  
#includevoid  test();int main() {     test(4);    return 0; }void test(int a){    printf("%d",a);}
程序仍然可以正常运行,test函数虽然声明为无入参,但调用时却是可以传入任何参数或不传参数的。  

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

int argc入参为命令行参数个数,char *argv[]入参为命令行参数数组。这种写法也比较常见的,主要用在需要从命令行获取参数的功能。

6、int main(int argc,char *argv[],char *envp[])

包含三个参数的一种写法,上面第5种的升级版,int argc是命令行参数个数,char *argv[]是命令参数数组,char *envp[]是环境变量数组。虽然只比第六种多了一个参数,但全局变量environ可以代替envp的作用,获取或者设置环境变量可以使用getenv或putenv,因此也没有必要使用该形式。这种写法多源于编译器的扩展。

上面写了这么多种写法,那么到底写哪种才算是对的?

查阅C89/C99/C11标准文档,里面明确固定了两种写法:
int main(void) { /* ... */ }int main(int argc, char *argv[]) { /* ... */ }
所以说,其他的写法并不符合标准,有些算是历史遗留有些算是编译器的扩展,还有些不知道从哪里生出来的。

所以说了这么多,为了代码的通用可移植性,建议采用标准提供的形式,还是推荐使用标准文档中规定的这两种写法。如果一个函数确定无需传入任何参数,那么用void限定是一个不错的选择。    

到此,关于“C语言的main函数怎么写”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享题目:C语言的main函数怎么写
本文网址:http://csdahua.cn/article/pejohi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流