C++程序包含一个或者多个函数,但是必须有一个函数被命名为main函数。操作系统通过调用main函数来执行程序,main函数是操作系统唯一显式调用的函数。main函数在执行结束后会返回给操作系统一个值,该值必须是int型的,通常返回值0代表程序执行成功,而其它返回值在操作系统中也有相应的含义。
通常我们使用的main函数都是不用带形参的,但其实main函数也是可以带形参的。在C/C++语言中,main()函数有参数形式:int main(int argc,char *argv[]) 或者 int main(int argc,char **argv),那么其参数argc和argv有什么含义呢?argc是一个整型变量,指的是命令行输入参数的个数,argv是字符串数组,它包含argc个字符串,每个字符串存储着一个命令行参数,如argv[0]存储着第一个命令行参数字符串,argv[1]存储着第二个命令行参数字符串,argv[argc-1]存储着最后一个命令行参数字符串.一般来说,argv[0]存储的是当前程序的路径与全称.其中argc和argv就是一个名字,可以改变的,如写成arc和arv,丝毫不影响。下面举个例子,如何能够使用上述带有参数的main函数。
程序演示:文件名称为main11
#include <iostream>
using namespace std;
int main(int arc, char *arv[])
{
for (int i=0; i<arc; i++)
cout<<"argv["<<i<<"] = "<<arv[i]<<endl;
return 0;
}
通过编译连接后,可以得到main11.exe文件。
之后可以通过命令行输入来演示,步骤是,打开cmd窗口,cd到main11.exe所在的文件夹,
然后输入main11 Shanghai Jiaotong EE zhougy。之后你便会看到如下演示
从上述这个例子我们可以清楚地看到argc就是你输入的命令参数的个数,此处argc=5,然后字符串数组argv里面每个数组元素存储的是所输入的参数。