Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304962
  • 博文数量: 69
  • 博客积分: 1626
  • 博客等级: 上尉
  • 技术积分: 785
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-15 19:01
文章分类

全部博文(69)

文章存档

2015年(4)

2014年(4)

2013年(3)

2012年(6)

2011年(1)

2010年(16)

2009年(8)

2008年(18)

2007年(9)

我的朋友

分类: LINUX

2010-05-12 23:33:51

main()主函数    
   
     每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面,   而另一些程序员把它放在最后面,   无论放在哪个地方,   以下几点说明都是适合的。 
  
          1.   main()   参数    
          在Turbo C2.0启动过程中,   传递main()函数三个参数:   argc,   argv和env。    
            *   argc:     整数,   为传给main()的命令行参数个数。    
            *   argv:     字符串数组。    
         在DOS   3.X   版本中,   argv[0]   为程序运行的全路径名;   对DOS   3.0    
                              以下的版本,   argv[0]为空串("")   。    
                              argv[1]   为在DOS命令行中执行程序名后的第一个字符串;    
                              argv[2]   为执行程序名后的第二个字符串;    
                              ...    
                              argv[argc]为NULL。    
            *env:     安符串数组。env[]   的每一个元素都包含ENVVAR=value形式的字符    
  串。其中ENVVAR为环境变量如PATH或87。value   为ENVVAR的对应值如C:\DOS,   C:    
  \TURBOC(对于PATH)   或YES(对于87)。    
          Turbo   C2.0启动时总是把这三个参数传递给main()函数,   可以在用户程序中    
  说明(或不说明)它们,   如果说明了部分(或全部)参数,   它们就成为main()子程序    
  的局部变量。    
          请注意:   一旦想说明这些参数,   则必须按argc,   argv,   env   的顺序,   如以下    
  的例子:    
            main()    
            main(int   argc)    
            main(int   argc,   char   *argv[])    
            main(int   argc,   char   *argv[],   char   *env[])    
          其中第二种情况是合法的,   但不常见,   因为在程序中很少有只用argc,   而不    
  用argv[]的情况。    
          以下提供一样例程序EXAMPLE.EXE,     演示如何在main()函数中使用三个参数:    
            /*program   name   EXAMPLE.EXE*/    
            #include      
            #include      
            main(int   argc,   char   *argv[],   char   *env[])    
            {    
                      int   i;    
                      printf("These   are   the   %d     command-   line     arguments   passed     to    
                                      main:\n\n",   argc);    
                      for(i=0;   i<=argc;   i++)    
                          printf("argv[%d]:%s\n",   i,   argv[i]);    
                      printf("\nThe   environment   string(s)on   this   system   are:\n\n");    
                      for(i=0;   env[i]!=NULL;   i++)    
                                printf("   env[%d]:%s\n",   i,   env[i]);    
            }    
          如果在DOS   提示符下,   按以下方式运行EXAMPLE.EXE:    
          C:\example   first_argument   "argument   with   blanks"     3     4     "last     but    
  one"   stop!    
          注意:   可以用双引号括起内含空格的参数,   如本例中的:       "     argument    
  with   blanks"和"Last   but   one")。    
          结果是这样的:    
            The   value   of   argc   is   7    
            These   are   the   7   command-linearguments   passed   to   main:    
            argv[0]:C:\TURBO\EXAMPLE.EXE    
            argv[1]:first_argument    
            argv[2]:argument   with   blanks    
            argv[3]:3    
            argv[4]:4    
            argv[5]:last   but   one    
            argv[6]:stop!    
            argv[7]:(NULL)    
            The   environment   string(s)   on   this   system   are:    
            env[0]:   COMSPEC=C:\COMMAND.COM    
            env[1]:   PROMPT=$P$G                         /*视具体设置而定*/    
            env[2]:   PATH=C:\DOS;C:\TC             /*视具体设置而定*/    
阅读(607) | 评论(0) | 转发(0) |
0

上一篇:VC中与字符串相关的宏

下一篇:观影有感

给主人留下些什么吧!~~