放在 C 语言程序开头的"main()"是什么意思?



我只想彻底学习基础知识以及一些简单的代码所指的内容。

我能够在以下位置找到简短的描述 https://www.dummies.com/programming/c/looking-at-the-c-language/但我认为我不能完全理解它。

它是程序的起点。 根据C 标准的 5.1.2.2.1 程序启动

程序启动时调用的函数名为main。这 实现没有声明此函数的原型。它应该是 使用返回类型int且不带参数定义:

int main(void) { /* ... */ }

或带有两个参数(此处称为argcargv,尽管任何 可以使用名称,因为它们是它们所在的函数的本地名称 声明):

int main(int argc, char *argv[]) { /* ... */ }

或等效项;或以某种其他实现定义的方式。

如果声明了,则主函数的参数应遵循 以下约束:

  • argc的值应为非负数。
  • argv[argc]应为空指针。
  • 如果argc的值大于零,则argv[0]argv[argc-1](含)的数组成员应包含指向 字符串,由主机赋予实现定义的值 程序启动前的环境。目的是供应给 在从其他地方启动程序之前确定的程序信息 在托管环境中。如果主机环境无法 提供带有大写和小写字母的字符串, 实现应确保在 小写。
  • 如果argc的值大于零,则argv[0]指向的字符串表示程序名;argv[0][0]应为 如果主机中提供程序名称不可用,则为空字符 环境。如果argc的值大于 1,则字符串 指向argv[1]通过argv[argc-1]代表程序 参数。
  • argcargv参数以及argv数组指向的字符串应可由程序修改,并保留其 程序启动和程序终止之间的最后存储值。

最新更新