C、C++语言误区之:voidmain().pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C、C++语言误区之:voidmain().pdf》由会员分享,可在线阅读,更多相关《C、C++语言误区之:voidmain().pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 转载C/C+语言误区之:void main()(2007-4-11 18:29:00)【收藏】【评论】【打印】【关闭】C/C+语言误区之:void main()作者:antigloss 很多人甚至市面上的一些书籍,都使用了void main(),其实这是错误的。C/C+中从来没有定义过void main()。C+之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main()/*.*/is not and never has been C+,nor has it even been C.(void main()从来就不存在于
2、 C+或者 C)。下面我分别说一下 C 和 C+标准中对 main 函数的定义。1.C 在 C89 中,main()是可以接受的。Brian W.Kernighan 和 Dennis M.Ritchie 的经典巨著 The C programming Language 2e(C 程序设计语言第二版)用的就是 main()。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:int main(void)int main(int argc,char*argv)(参考资料:ISO/IEC 9899:1999(E)Programming languages C 5.1.2.2.1 Progra
3、m startup)当然,我们也可以做一点小小的改动。例如:char*argv 可以写成 char*argv;argv 和 argc 可以改成别的变量名(如 intval 和 charval),不过一定要符合变量的命名规则。如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char*argv)。main 函数的返回值类型必须是 int,这样返回值才能传递给程序的激活者(如操作系统)。如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入 return 0;,表示程序正
4、常退出。不过,我还是建议你最好在main 函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6 不会在目标文件中加入return 0;,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0;。2.C+C+98 中定义了如下两种 main 函数的定义方式:int main()int main(int argc,char*argv)(参考资料:ISO/IEC 14882(1998-9-01)Programmin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言 误区 voidmain
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内