main函数中各参数的含义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

main(int argc, char *argv[], char *env[])中各参数的含义

argv为指针的指针

argc为整数

char **argv or: char *argv[ ] or: char argv[ ][ ]

main()括号内是固定的写法。argv是一个指针数组,他的元素个数是argc,存放的是指向每一个参数的指针,他的第一个元素即argv[0]为编译生成的可执行文件名(包括路径eg:"F:\VC\Ex1\Debug\Ex1.exe"),从二个元素(argv[1])开始,是每一个参数.

int argc 表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名

下面给出一个例子来理解这两个参数的用法:

假设程序的名称为prog,

1.当只输入prog,则由操作系统传来的参数为:

argc=1,表示只有一程序名称。

argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog

2.当输入prog para_1,有一个参数,则由操作系统传来的参数为:

argc=2,表示除了程序名外还有一个参数。

argv[0]指向输入的程序路径及名称。

argv[1]指向参数para_1字符串。

*env: 字符串数组。env[] 的每一个元素都包含ENVV AR=value形式的字符

串。其中ENVV AR为环境变量如PA TH或87。value 为ENVV AR的对应值如C:\DOS, C: \TURBOC(对于PATH) 或YES(对于87)。

以下提供一样例程序EXAMPLE.EXE, 演示如何在main()函数中使用三个参数:

/*program name margc.EXE*/

#include

#include

void 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

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

}

运行结果:

相关文档
最新文档