main函数究竟应该怎么写?
文章开始之前,先聊聊工作的话题。个人感觉程序员应该是人员流动比较大的职业,我也在上个月辞去了自己的第一份工作。辞职容易,找工作难,找一份满意的工作更难。不仅要求你能熟练使用开发语言,还要你熟悉常用的框架,还要你懂各种算法,操作系统原理,各种协议等等。你还得有自己的拿得出手的作品才行。csdn或stackoverflow的积分,个人的技术blog,github的开源代码都是很好的加分项。如果你是做android开发的,你最好能自己开发个应用放到google play去。与其在同等级别的公司间跳来跳去,还不如沉下心来看看书,坚持写blog,多练练手,顺便开源些好的项目。为下一次跳槽做好充分的准备。
在大多数程序语言里,程序由main函数开始执行,因此被称之为入口函数。然而,当你学了编程一段时间后,你肯定见过不止一种main函数的写法。你有木有想过,究竟那种写法才算是标准的呢?毕竟各个平台对编译器的实现有所不同,往往标准的部分是相同的。如果你的程序是按标准来写的,那意味着你的程序是跨平台的。在这篇文章,我们来谈谈c,c++里main函数该如何写。
标准C
那C99来说吧,标准规定main函数应该定义为返回int类型,且带有0个参数或2个参数,即如下形式:
int main(void) { /* ... */ }
int main(int argc, char *argv[]) { /* ... */ }
或其他等价形式,如char *argv[]可以写成char **argv。说到这里,顺便提一下,argc指的是argument count,这个大家没有疑问。但argv有人说是argument values,其实是不对的,argv应该指argument vector(the vector term in this variable's name is used in traditional sense to refer to strings)。int main() { /* ... */ }
int main(int argc, char* argv[]) { /* ... */ }
3.The function main
shall not be used within a program.也就是你不应该在其他函数里调用main或者&main等操作。但是目前很多编译器好像是允许你去调用main的。4.如果main省略了返回语句,那相当于return 0;int main(int argc, char **argv, char **envp) { ... }
Mac OS X还有int main(int argc, char **argv, char **envp, char **apple);【转载请注明出处:http://blog.csdn.net/booirror/article/details/12916555】