Cprogramming 简明教程
C - Main Function
main() Function in C
C 中的 main() 函数是任何程序的入口点。程序执行从 main() function 开始。它设计用于执行程序的主处理,并清理程序分配的任何资源。在 C 代码中,可能有任意数量的函数,但它必须有一个 main() function 。不考虑它在代码中的位置,它是第一个要执行的函数。
Valid/Different Signatures of main() Function
main() 函数的签名(原型)是 −
int main() {
. .
return 0;
}
或
int main(void){
. .
return 0;
}
或
int main(int argc, char *argv[]){
. .
return 0;
}
Example of main() Function
以下示例演示了 main() 函数:
#include <stdio.h>
int main() {
// Write code from here
printf("Hello World");
return 0;
}
Important Points about main() Function
-
C 程序必须具有 main() 函数。
-
主函数不是 C keyword 。它被分类为 user-defined function ,因为它没有预先设定实体,它取决于程序的处理逻辑。约定上,int 是 main() 的返回类型。main() 的函数实体中的最后一个语句返回 0,表示函数已成功执行。任何非零返回值表明失败。
-
一些旧的 C 编译器允许使用 void 返回类型定义 main() 函数。
-
不过,这被认为是非标准的,不推荐这样做。
-
与其他函数相比,main() 函数:不能声明成 inline。不能声明成 static。不能取其地址。不能从程序中调用它。
How does main() Works in C?
程序执行从 main() 函数开始,因为它是程序的入口点,它会开始执行其内部编写的语句。源程序中的其他函数被定义用于执行确定的任务。main 函数可以调用其中任何一个函数。当 main 调用其他函数时,它会将执行控制传递给函数,选择性地传递必须数量和类型的参数,从而执行开始于被调用函数的第一个语句。当执行 return 语句或函数结束时,被调用函数将控制权返回给 main。注意,当其返回类型为 int 时,return 语句会作为最后一条语句隐式出现。
程序通常会在从 main 返回或到达其末尾时停止执行,尽管它可能由于种种原因在程序的其他部分终止。例如,您可能想要在检测到某些错误条件时强制终止程序。为此,可以使用 exit 函数。
Use of exit() in main() Function
C exit() function 是一个用于终止调用进程的标准库函数。使用 exit(0) 表示没有错误,使用 exit(1) 表示程序因遇到的错误而退出。
Command-line Arguments with main()
通常, main() 函数被定义为没有参数。不过,可以通过参数定义 main() 来使其接受来自命令行中的值。在此类用法中,main() 函数定义如下所述:
Syntax
以下是用 command-line arguments 的 main() 函数的语法:
int main(int argc, char *argv[]){
. .
return 0;
}
Argument Definitions
参数定义如下:
*argc * - 第一个参数是整数,包含 argv 中紧随其后的参数计数。argc 参数始终大于或等于 1。
argv - 第二个参数是表示程序用户输入的命令行参数的以 null 结尾的字符串数组。约定上,argv[0] 是用来调用程序的命令。argv[1] 是第一个命令行参数。来自命令行的最后一个参数是 argv[argc - 1],而 argv[argc] 始终为 NULL。
Example: Using main() Function with Command-line Arguments
考虑以下程序以理解命令行参数。
#include <stdio.h>
#include <stdlib.h>
int add(int, int);
int main (int argc, char *argv[]){
int x, y, z;
if (argc<3){
printf("insufficient arguments");
}
else{
x = atoi(argv[1]);
y = atoi(argv[2]);
z = x+y;
printf("addition : %d", z);
}
return 0;
}
只需编译并构建程序为 test.c,不要在您进行编辑和编译的 IDE 中运行。转到命令提示符并按如下方式运行程序:
C:\Users\mlath>test 10 20
addition : 30
在本章中,我们学习了在 C 中定义 main() 函数的重要性及语法。任何 C 程序都必须有 main() 函数。按照惯例,它应该返回 0 以表示执行成功。您还可以为 main() 函数定义参数,它们可以从命令行中传递。