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[])