资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
main( int argc, char * argv ) argv: 指针的指针 argc: 整数 char *argv or char *argv or char argv 为了能形象的说明这两个参数的含义,我们先用一个实例来进行讲解: 假设程序的名称为 test,当只输入 test,则由操作系统传来的参数为: argc = 1,表示只有一程序名称; argc 只有一个元素,argv0指向输入的程序路径及名称:./ test 当输入 test para_1,有一个参数,则由操作系统传来的参数为: argc = 2,表示除了程序名外还有一个参数; argv0指向输入的程序路径及名称; argv1指向参数 para_1 字符串 当输入 test para_1 para_2 有 2 个参数,则由操作系统传来的参数为: argc = 3,表示除了程序名外还有两个参数; argv0指向输入的程序路径及名称; argv1指向参数 para_1 字符串; argv2指向参数 para_2 字符串; 以此类推 void main( int argc, char *argv ) char *argv: argv 是一个指针数组,元素个数是 argc,存放的是指向每一个参数的指针,第一个元素即 argv0为程序运行的全路径名,从二个元素(argv1)开始,是每一个参数的名称,最后一个元素为 NULL。总的来说,即: * argv: 字符串数组 argv0 为程序运行的全路径名 argv1 为执行程序名后的第一个字符串; argv2 为执行程序名后的第二个字符串; . argvargc为 NULL。 int argc: 表示 argv 的大小,是实际参数个数1,其中1 是因为 argv0是编译后的可执行文件名 main() 参数 : Turbo C2.0 启动时总是把 argc、argv、env(存放环境变量)这三个参数传递给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*/ i nclude i nclude main(int argc, char *argv, char *env) int i; printf( These are the %d command- line arguments passed to main:nn, argc); for( i = 0; i = argc; i+) printf( argv%d:%sn, i, argvi ); printf( nThe environment string(s)on this system are:nn); for( i = 0; envi != NULL; i+ ) printf( env%d:%sn, i, envi ); ./EXAMPLE first Im a good boy c last stop 注意: 可以用双引号括起内含空格的参数, 如本例中的 : argument with blanks和Last but one)。 结果是这样的: These are the 6 command-linearguments passed to main: argv0:./ EXAMPLE argv1:first argv2: Im a good boy argv3:c argv4: last argv5:stop argv6:(NULL)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号