一般的主函数是无参的,但也可以有参数表,不过其参数表有特殊要求。

主函数以返回值和参数的方法提供了程序和它的运行环境之间交换信息的手段。

当main()取int类型返回值时,允许程序在退出之前给系统返回一个整数信息。
当main()取有参形式时,允许程序在开始运行时接收几个字符串型的输入信息。此法是为了以命令行的形式运行该程序时指定运行参数而设置的。

主函数的有参形式为:

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

1. argc:存放命令行中字符串的个数(即命令名加上参数的个数,亦即1+参数个数,参数个数为0时等于1)。

2. argv:字符串数组指针。保存了命令行中输入的各个字符串。argv[0]指向命令行的第一个字符串(命令名),argv[1]指向命令行的第二个字符串(第一个参数),以此类推。

例子:比较两个文件大小,通过命令行的形式获取两个文件的路径

main(int argc, char * argv[]){
    if(argc != 3){// 命令行格式错误
        cout << "format error!";
        cout << "correct format: compare filepath1 filepath2"
        renturn 1;
    }
    cout << " filepath1" << argv[1] << endl;
    cout << " filepath2" << argv[2] << endl;
    ...// compare two files
    return 0;
}