初识函数(2)
主函数main()的特殊性
C语言在设计中很注重一致性, 很多看似不同的语法现象经追根溯源都能统一起来,特例很少。这样既方便用户学习与使用,也让编译器的设计简单了许多。在这种思想下,所有的函数都是一致的, 无论它是自定义函数、库函数还是函数main()。
一方面,一 致性体现在各 个函数都是平等的,没有主从之分,可以随意互相调用。每个函数都可以调用其他函数,其他函数再调用其他函数。函数也可以调用自己本身,称为递归,将在s.9节中介绍。mainO由操作系统调用,从而开始程序的运行。它也可以被其他函数调用,只不过几乎从来都不需要这么做。
另一方面,一致性体现在定 义各种函数的语法都遵守共同的语法规则。
尽管main函数也有返回值,但是有时在定义main()时,可以不指明其返回值类型,没有参数也可以不用void.这种用法是符合C语言语法的,任何函数也都可以如此定义。从表面上看,这样定义的函数似乎没有返回值和参数:但实际上它的默认返回值是int 类型,并且有任意数量的int型参数。