1 / 5
文档名称:

void main(void) - the Wrong Thing.pdf

格式:pdf   页数:5
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

void main(void) - the Wrong Thing.pdf

上传人:紫岑旖旎 2012/9/16 文件大小:0 KB

下载得到文件列表

void main(void) - the Wrong Thing.pdf

文档介绍

文档介绍:IT-Homer 专栏
成功是优点的发挥,失败是缺点的积累! 不为失败找理由,只为成功找
方法……
void main(void) - the Wrong Thing
分类: C/C++/C# 2010-06-10 18:18 125人阅读评论(0) 收藏举报
很多人甚至市面上的一些书籍,都使用了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( ) 从来就不存在于 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 Program 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; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有
这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为 vc6 是 98 年的产
品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,(Linux 下的 C
编译器)会在生成的目标文件中加入 return 0; 。
2. C++
        C++98 中定义了如下两种 main 函数的定义方式:
                  int main( )
                  int main