main的参数argc和argv

1.有时会见到这样的主函数,十分好奇里面的参数argc和argv代表什么

int main(int argc,char** argv)
{
        return 0;
}
//或者这样的

int main(int argc, char *argv[])
{
    return 0;
}

查阅资料,argc和argv中的arg指的是"参数"。

其中,argc为整数,用来统计运行程序时送给main函数的命令行参数的个数:

argv加上*与[ ],成为*argv[ ],表示字符串数组,用来存放指向字符串参数的指针数组,每个元素指向一个参数。

是不是还不太明白?原来argc、argv这两个参数一般在用命令行编译程序时有用。也就是说在如今各版本的vs编译器中,main()函数带或者不带argc,argv,返回值为void或不为void,都是合法的。

最后总结一下:

int argc表示命令行字串的个数。

char *argv[ ] 表示命令行参数的字符串。

2.那么我们还是好奇这两个参数到底是什么,不妨用下面的代码打印一下看看

#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
    cout << argc << endl;

    cout << argv[0] << endl;

  getchar(); return 0; }

运行结果:

main的参数argc和argv

可以看到argc的值为1,argv是程序生成的exe文件地址

也就是在命令行输入一行命令,该命令是执行这个exe文件

上一篇:python:sys.argv[]的用法简明解释


下一篇:sys.argv的使用(pycharm)以及conda创建虚拟环境