全面认识main()

ZDNet软件频道 时间:2003-07-14 作者:ZDNet China |  我要评论()
本文关键词:cpptips
历史上的分支、相关平台的演变和从前C语言的语法规则给我们留下了几个mian()的合法原型。让我们来看一看他们的作用。
本文译自Builder.com,未经许可请勿转载历史上的分支、相关平台的演变和从前C语言的语法规则给我们留下了几个mian()的合法原型。让我们来看一看并评价一下他们的作用。

  main()的规范原型是:

  int main()

  其返回值包括了程序退出时的状态。尽管它是int类型,仅仅最低的八位二进制数是有效的,通过0,1不同位置的排列,main()所返回的有效值域为-128到127。

  返回值为0表示操作成功,返回其他值表示产生了不同类型的错误。所有以负数退出的进程将被保留,这些进程将被其他进程或者内核结束,一个正数表示用户定义的一个错误代码。

   在以前C语言的规则中,如果一个函数没有明确的返回值,那么就间接地说明它返回一个int类型。因此,大多数程序员通常定义main()来代替int main(),但是,在定义一个新代码中最好避免使用这种方式。

命令行参数

   main()有第二种标准形式,这种形式可以让你访问命令行参数。

int main(intargc, char * argv[])

argc是所有被传递的参数的总和,它不能为负值。argy是数组的指针,它的第一个参数argy[0]包含了可执行文件的名字,不管它的完整路径名是否与之相关联。

  如果你的程序不能访问命令行参数,你可以运用以下原型:

int main()

这个比int main(intargc, char * argv[])更安全更有效。

通过环境

标准规则是main()的其他参数应该在定义标准的argc和argv以后定义。main()定义三个参数的普通形式如下:

int main(intargc, char * argv[], char *envp[])

这种形式经常被用在POSIX系统里,参数envp包含了新进程的环境。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134