int main(int argc, char *argv[]) 中main里头那两个是什么意思,有什么用,和int main()有什么区别

int main(int argc, char *argv[]) 中main里面那两个是什么意思,有什么用,和int main()有什么区别
int main(int argc, char *argv[]) 中main里面那两个是什么意思,有什么用,和int main()有什么区别?
请不要说得太抽象,比如argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数 
* argv[ ]: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数。。。
我想知道这个到底有什么用,和一般的c++中int main()有什么区别,加了int argc, char *argv[]会对程序有什么影响,有什么用,谢谢。。。

------解决方案--------------------
这个是命令行参数,可以通过命令行来运行程序
比如
#include <stdio.h>

int main(int argc,char *argv[])
{
if(argc!=2) //如果传入参数的数目不是2个,则退出
return -1;
printf("%s",argv[1]); //输出argv[1]

getchar();
return 0;
}

通过命令行来运行此程序
int main(int argc, char *argv[]) 中main里头那两个是什么意思,有什么用,和int main()有什么区别
第一个参数 即argv[0],是我们程序的名字,即cmdtest.exe
第二个参数,argv[1],是我们想要给程序传递的参数,这里我们输入hello
可以看到,程序执行过后hello被输出到标准输出
------解决方案--------------------
那两个分别是 命令行参数的个数命令行参数
假设程序名 a.exe
a.exe a b c d e f
这个命令行共有7个参数
argc =7
argv[0] =a.exe
argv[1] =a
argv[2] =b
.......
如果不带参数
argc =1
argv[0] =a.exe

------解决方案--------------------
引用:
这个是命令行参数,可以通过命令行来运行程序
比如
#include <stdio.h>

int main(int argc,char *argv[])
{
if(argc!=2) //如果传入参数的数目不是2个,则退出
return -1;
printf("%s",argv[1]); //输出argv[1]

getchar();
return 0;
}

通过命令行来运行此程序
int main(int argc, char *argv[]) 中main里头那两个是什么意思,有什么用,和int main()有什么区别
第一个参数 即argv[0],是我们程序的名字,即cmdtest.exe
第二个参数,argv[1],是我们想要给程序传递的参数,这里我们输入hello
可以看到,程序执行过后hello被输出到标准输出
正解
------解决方案--------------------
C++标准是这样说的。 
int main(int argc, char *argv[]) 中main里头那两个是什么意思,有什么用,和int main()有什么区别