在C++中,main
函数是程序的入口点,即程序开始执行的地方。main
函数可以有两种形式的签名(signature):
-
标准的
main
函数,不接受任何参数,也不返回任何值:int main() { // 代码... }
-
带有参数的
main
函数,可以接收命令行参数,并且返回一个整数:int main(int argc, char *argv[]) { // 代码... }
main
函数的参数:
-
argc
(Argument Count):表示传递给程序的命令行参数的数量。至少为1,因为第一个参数总是程序本身的名称。 -
argv
(Argument Vector):是一个字符指针数组,包含了每个参数的字符串值。argv[0]
是程序的名称,argv[1]
到argv[argc-1]
是其他参数。
main
函数的返回值:
-
main
函数的返回值通常是一个整数。在C++中,返回值0
通常表示程序成功完成,非零值表示出现了错误或异常情况。 - 这个返回值与普通函数的返回值类似,但它有特殊的含义:它被操作系统用来了解程序的退出状态。如果这个程序是从命令行或脚本中启动的,那么这个返回值可以被脚本或命令行工具用来决定后续的操作。例如,在shell脚本中,你可以使用$?来获取上一个命令的返回值。
- 父进程与子进程的交互
在多任务操作系统中,进程之间的关系可以是父子关系。当一个进程(父进程)启动另一个进程(子进程)时,子进程结束后,父进程确实可以获取到子进程的返回值。这是进程间通信的一种简单形式。