C++标准允许main函数有或者没有形参列表,比较常见的是main函数中有两个形参,一个为argc,一个为argv,形式如下。
int main(int argc, char *argv[]) 或者 int main(int argc, char **argv),当没有形参时,为int main()
argc为argv指向的字符串的数量,其大小为参数的数量再加上1,在这里的1为程序名本身。
argc和argv在这里分别称为参数数量和参数向量。但是它们也可以用其他的变量名来替代,比如int main(int num_args, char **arg_strings)。
通过下面这个程序,可以明白argc和argv的意义。
#include <iostream>
int main(int argc, char** argv) {
std::cout << "Have " << argc << " arguments:" << std::endl;
for (int i = 0; i < argc; ++i) {
std::cout << argv[i] << std::endl;
}
}
通过命令行./test a1 b2 c3运行,输入结果为
Have 4 arguments:
./test
a1
b2
c3