即程序的执行从main函数开始,其他函数的调动也直接或间接地在main函数中调用。main函数可以接受两个参数,分别是argc和argv,表示程序的命令行参数。例如:
int main(int argc, char *argv[]) {
// 程序代码
}argc表示命令行参数的个数,argv是一个指针数组,存放着每个参数的字符串。例如,如果我们在命令行中输入:
./a.out hello world那么argc的值为3,argv[0]为”./a.out”,argv[1]为”hello”,argv[2]为”world”。
若返回0,则表示程序正常退出。返回其他数字的含义由系统决定。通常返回非零代表程序异常退出。
ain函数的返回值通常表示程序的执行状态,0表示正常退出,非0表示异常退出。例如:
int main() {
// 程序代码
return 0; // 表示正常退出
}
延伸阅读
main函数称为主函数,一个C或C++程序总是从main()函数开始执行的。但是我们在不同的图书或文档中,看到了很多不一样的main函数格式,以至于极其的混乱。其中,有些格式是不规范的,以下只关注标准的main函数格式:
int main(void) { /* … */}
int main(int argc, char *argv[]) {/ * … */}
int main() { /* … */}
int main(int argc, char *argv[]) {/ * … */}
int main(int argc, char **argv) {/ * … * /}
其实参数*argv[]和**argv是都可以的。另外,函数中每个参数的名称可以是任意的,但是为了便于阅读,还是建议写出以上的这种形式。
其中argc是用来记录此次函数调用一共有多少个参数。
而*argv[]或者**argv是用来存储对应的参数的。
其主要是为了与系统的通信。
main函数是系统执行程序的入口,可以将main函数看作是提供给系统调用的。既然系统可以调用main函数,那么系统就有为main函数传递参数的需求。
main函数也有为系统环境返回信号的义务。这样一来,参数充当入口,return充当出口,使得main函数的功能更加完善。