int main(int argc,char*argv[])

Posted cyx-b

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了int main(int argc,char*argv[])相关的知识,希望对你有一定的参考价值。

通常我们见到的main函数都是不带参数的,实际上,main函数也可以带参数。main函数的参数是由谁传来的呢?答案是操作系统,C++规定main函数的参数只能有两个,即argc和argv,带参main函数的形式如下所示。

int main(int argc,char*argv[])
{
    ……
}

第一个参数argc必须是整型变量,称做参数计数器,其值是包括命令名在内的参数个数;

第二个参数argv必须是指向字符指针数组,存放命令名和参数字符串的地址。

要调用带参主函数必须在操作系统环境下进行,参见如下示例代码:

#include<iostream>
using namespace std;
int main(int argc,char*argv[]) //两个参数
{
    for(int i=argc-1;i>=0;i--) //倒着输出,0到argc-1,防止越界    
    {    
        cout<<argv[i]<<endl;    
    }    
    return 0;
}

编译链接上述代码生成可执行文件,假设其名为example.exe,复制到C盘根目录下,在DOS环境下输入下列命令行:

example world hello

技术图片

 文件名example本身也算个参数,所以,上述命令行调用example.exe共用3个参数,DOS系统向main函数传递的参数argc为3,字符指针数组argv中的元素argv[0]、argv[1]、argv[2]分别存储着字符串example、world、hello的地址,按照main函数的定义,将3个字符串倒序输出。

以上是关于int main(int argc,char*argv[])的主要内容,如果未能解决你的问题,请参考以下文章

int main(int argc,char *argv[])与int main(int argc,char **argv)区别?

main (int argc,char *argv[]) 或main (int argc,char **argv)区别

int main(int argc,char* argv[])详解

int main(int argc,char*argv[])

int main(int argc,char* argv[]) 解析

int main(int argc,char* argv[])详解