main函数中各参数的含义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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]); } 运行结果: