指針數(shù)組作main函數(shù)的形參

字號:

到目前為此,使用的main()函數(shù)是一無參函數(shù),實際上main()函數(shù)可以帶參數(shù),指針數(shù)組的一個重要應(yīng)用就是作為main函數(shù)的形參。
    main()函數(shù)帶參數(shù)的形式為:
    main(argc,argv)
    int argc:
    char *argv[];
    main()函數(shù)對應(yīng)的實參由程序運行時的命令行參數(shù)給定。參數(shù)argc為整型,對應(yīng)命令行中參數(shù)個數(shù),包括執(zhí)行文件名;參數(shù)argv為字符型的指針數(shù)組,每個數(shù)組元素是一指向字符數(shù)據(jù)的指針,對應(yīng)命令行中各參數(shù)的名字。
    使用命令行參數(shù)將C語言程序看作操作系統(tǒng)下的函數(shù),main()函數(shù)的參數(shù)是在系統(tǒng)與程序之間傳遞數(shù)據(jù)。
    命令行的一般形式為:
    命令名參數(shù)1參數(shù)2…參數(shù)n
    假定程序運行時發(fā)出如下命令:
    filename changsha beijing
    則mian()函數(shù)中,argc=3,表示有三個命令行參數(shù)(文件名也算一個),而argvE03指向“filel”,argv[1]指向“changsha”,argv[2]指向“beijing”。
    例:編寫程序,實現(xiàn)DOS的ECI-IO命令。
    EChO命令的功能是“參數(shù)回顯”,不包括\"ECHO”。
    程序如下:
    /*程序10一23,參數(shù)回顯程序ECHO.c*/
    main(argc,argv) Int argc 0
    char*argv[];
    {char**p=argv,
    while(aRgc)>1)
    {p++;
    printf(\"%s\",”*);
    argc--;
    }
    假定以下面的命令行形式運行程序:
    ECHO HU NAN COMPUTER COLLEGE
    運行結(jié)果:HU NAN COMPUTER COLLEGE