指针数组作main函数的形参
到目前为此,使用的main()函数是一无参函数,实际上main()函数可以带参数,指针数组的一个重要应用就是作为main函数的形参。
main()函数带参数的形式为:
main(argc,argv)
int argc:
char *argv[];
main()函数对应的实参由程序运行时的命令行参数给定。参数argc为整型,对应命令行中参数个数,包括执行文件名;参数argv为字符型的指针数组,每个数组元素是一指向字符数据的指针,对应命令行中各参数的名字。
使用命令行参数将C语言程序看作操作系统下的函数,main()函数的参数是在系统与程序之间传递数据。
命令行的一般形式为:
命令名参数1参数2…参数n
假定程序运行时发出如下命令:
filename changsha beijing
则mian()函数中,argc=3,表示有三个命令行参数(文件名也算一个),而argvE03指向“filel”,argv[1]指向“changsha”,argv[2]指向“beijing”。
例:编写程序,实现DOS的ECI-IO命令。
EChO命令的功能是“参数回显”,不包括\"ECHO”。
程序如下:
/*程序10一23,参数回显程序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
运行结果:HU NAN COMPUTER COLLEGE