C语言

A 开头函数 B 开头函数 C 开头函数 D 开头函数 E 开头函数 F 开头函数 G 开头函数 H 开头函数 I 开头函数 K 开头函数 L 开头函数 M 开头函数 O 开头函数 P 开头函数 R 开头函数 S 开头函数 T 开头函数 U 开头函数 V 开头函数 _ 开头函数 转换函数 诊断函数 接口函数 字符判别函数 目录函数 输入输出函数 数学函数 操作函数 进程函数 字符串操作函数 时间日期函数 存储分配函数 assert.h头文件 alloc.h头文件 ctype.h头文件 dir.h头文件 dos.h头文件 errno.h头文件 fcntl.h头文件 float.h头文件 graphics.h头文件 io.h头文件 limits.h头文件 malloc.h头文件 math.h头文件 mem.h头文件 process.h头文件 setjmp.h头文件 share.h头文件 signal.h头文件 stdarg.h头文件 stddef.h头文件 stdio.h头文件 stdlib.h头文件 string.h头文件 time.h头文件 values.h头文件

函数名: main
功  能: 主函数
用  法: main()
        int main(void)
        void main(void)

                     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 <stdio.h>
     #include <stdlib.h>
     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      /*视具体设置而定*/
 
     应该提醒的是: 传送main() 函数的命令行参数的最大长度为128 个字符 (包
括参数间的空格),  这是由DOS 限制的。