导航

c语言main函数参数说明 转载

Posted on 2012-09-05 14:29  vivi_wind  阅读(2792)  评论(0编辑  收藏  举报

http://blog.csdn.net/icmmed/article/details/6336613

int main(int argc, char* argv[])


argc是命令行参数的个数(程序路径自身也是一个参s数),

argv字符指针数组中就保存了指向各个参数字符串的指针(程序路径是第一个参数,由argv[0]指向)。

比如一个main.c文件里面的main函数定义如上所示,

那么当在命令行模式下执行main.c生成的main.exe文件时,格式如下:

main.exe aaa bbb ccc

那么:

argc=4

 

argv[0]="main.exe"
argv[1]="aaa"
argv[2]="bbb"
argv[3]="ccc"


====================================

#include <stdio.h>

int main(int argc, char* argv[])
{
int i;
for (i = 0; i<argc; i++) {
puts(argv[i]);
}
return 0;
}
====================================

 

如果这个程序生成的可执行文件名为main.exe,并以命令行的方式执行命令“main.exe aaa bbb ccc”,那么会输出:

main.exe

aaa

bbb

ccc

 

 

另外,main()函数可以有第三个参数,也是一个字符指针数组,这个数组中保存了指向保存当前系统中的环境变量字符串的指针,例如以下程序可以输出系统中定义的环境变量:

=========================================
#include <stdio.h>

int main(int argc, char* argv[],char *env[])
{
int i;

for (i = 0; env[i]; i++) {
puts(env[i]);
}
return 0;
}
=======================================

 

我的电脑上执行上面的程序输出是:

PATHEXT=.COM;.EXE;.BAT.....................................

PROCESSOR_ARCHITECTURE=x86

....................