每个程序必须有main函数,而且只能有一个。
1、形参
int main(int argc, char *argv[]) { ... }
第二个形参argv是一个数组, 它的元素是指向C风格字符串的指针;第一个形参argc表示数组中字符串的数量。
当实参传给main函数之后,argv的第一个元素指向程序的名字或者一个空字符串,接下来的元素依次传递命令行提供的实参。所以当使用argv中的实参时,一定要记得可选的实参从argv[1]开始,argv[0]保存程序的名字,而非用户输入。
#include <iostream>
#include <string>
int main(int argc, char* argv[])
{
std::cout << "First:" << argc << std::endl;
std::cout << "Second:" << argv[0] << std::endl;
system("pause");
}
运行结果:
2、返回值
如果函数的返回类型不是void,那么它必须返回一个值。但是这条规则有个例外:我们允许main函数没有return语句直接结束。如果控制达到了main函数的结尾处而且没有return语句,编译器将隐式地 一条返回0地return语句。
main函数的返回值可以看作是状态指示器。返回0表示执行成功,返回其他值表示执行失败,其中非0值的具体含义由机器决定。
注意:
main函数不能重载,也不能调用自己。