main函数的参数结构为两项参数:
1 int main(int argc,char** argv){……}
main的参数由操作系统传递,所以比较特殊。两个形参名一般是采用习惯名称argc和argv,表示argument count和argument vector,即第一项是表示传递的C-串有几个,第二项是表示具体的C-串树数组,该数组最后一项是空串,即指向0的串。正像在函数中传递数组那样,既要传递数组地址,也要传递数组的元素个数。要注意的是C-串的类型为char*,数组是以指向C-串的指针为元素的,因而数组描述为char**。其参数结构的示意图如下:
对于以下程序,若发出命令行“f0510 abc1 abc2 abc3”,则可以根据main的形参来读取命令行的相关信息:
1 #include<iostream> 2 using namespace std; 3 int main(int argc,char** argv) 4 { 5 for(int i=0;i<argc;++i) 6 cout<<argv[i]<<endl; 7 }