c main主函數的參數

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]);
     }

發佈了16 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章