argc 是argument count的缩写,表示传入main函数的参数个数。
argv是argument vector的缩写,代表传入main函数的参数序列或者指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径的,所以确切的说需要我们输入的main函数的参数的个数应该是argc -1个。
简单用法实例:
#include <iostream>
using namespace std;
int main(int argc,char *argv[])
{
for(int i=0;i<argc;i++)
{
cout<<"argument["<<i<<"] is: "<<argv[i]<<endl;
}
system("pause");
}
argv是指向指针的指针,main函数的第二个参数“char *argv[]“也可以替换为 “char **argv“,两者是等价的。
可见,在没有参数传入的情况下,保存程序名称的第一个变量argv[0]依然存在。
参考链接:
https://blog.youkuaiyun.com/dcrmg/article/details/51987413