C语言main函数

我想,绝大多数程序员写的第一个函数必定是main函数,就如同刚出生的小孩第一眼见到的是她的亲妈一样。但是,对于如此亲密的main函数,我们真的是对它了如执掌吗?

那可未必。在此,我写下我浅薄的认识。

很多初学者在写第一个C语言程序的时候,会把main函数写成这样:

void main()
{
 .....
.....
}
我从开始学习C语言直到毕业,都是像上面那样写main函数。不过现在已经痛改前非了,作为一个职业程序员,是需要严苛的职业精神的!大多数人像上面那样写main函数,就是想偷偷懒,因为那样在main函数执行完毕之后,就可以不用写return语句,即不用返回任何值。但实际上根据正统的江湖规矩,main函数的必须得有返回值而且只能是int型的。标准里面从来就没有void main()这回事,不过有的编译器比如vc6对于这种杂种还是网开一面的,而gcc则会给出warning: return type of 'main' is not 'int',而g++则直接给出error: '::main' must return int。由此可见,不能因为一时的偷懒而没有付出代价,就从此以为可以走遍天下,写代码还是得按照标准来。

那么,main函数应该怎样写呢?

上面说的是,main函数必须返回int型的值。而main函数的参数,有两种情况:一是不带参数,写成int main(void);二是带参数,写成int main(int argc, char *argv[])。另外对于main函数的返回值,return 0表示main函数正常返回。


另外,main函数被C startup程序调用如下:exit(main()) .当main函数return之后,exit函数会做一些清理工作。

发布了28 篇原创文章 · 获赞 0 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章