这是没有矛盾的,main是主函数,不管放在哪,c编译器都找到它并第一个执行。而“自顶向下”则是指解决问题算法和程序执行流程。打个比方吧,你想用c从键盘输入一行字符,薯芹然后是一行数字,最后又是一行字符,你可以用函数实现,先编个接受字符输入的函数,再编一个数字输入的函陪历数。调用时先调用第一个,再第二个。一般调用在数乱毕main函数中执行。
创新互联建站是一家专注于成都做网站、网站建设与策划设计,建瓯网站建设哪家好?创新互联建站做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:建瓯等地区。建瓯做网站价格咨询:028-86922220
可以这么理解。函数是C源程序的基本模块, 通过对函数模块的调用实现特定的猜液功能。函数按照来源可大体分为:库函数和自定义函数:库函数:由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用自定义函数:由用户按需要写的函数穗侍物,用户将程序按照功能块划分(此处谈姿为面向功能的分析方法,以后你可能会接触到另一种被称为OOAD的面向对象的划分),根据不同的功能定义函数,实现此功能。
C语言中的模块化体现大世在两个方面:
1 函数。函数是C语言的最小单位,每个函数均实现一个独立的功能,于是每个函数均唯哪可以当做是一个最小的功能模块。这样,C语言就实现了最基本的模块化。
2 文件。在C语言中,支持一个程序由多个源文件编译,所以可以把类似功能的一组函数写在同一个文件中,指仿码以源文件为单位,实现模块化。当模块较大时,可以写在多个头文件中,然后编译成一个库文件,以库文件为单位,实现模块化。
在C语言里,主函数,也就是main函数,是C标准的一个组成部分(参考C90/C99标准协议文档)。虽然它也被称作函数。但是,它对于C编译器来讲,它并不是一个真正意义上的函数。或者说,它不属于你代码中的任何一个模块。
由于历史原因,丹尼斯里奇和肯汤普森坦磨在完成对Basic的升级之后(也就是最初的C),对于整个语言写成的代码的主入口作出了一个定义,也即,使用一个名为main的,被定义为函数形式的段表示整个C程序(在OS中运行的某个进程)的进入点(让滚斗Entrance)。
但对于用户的代码而言,用户使用C语言编写的所有模块中的函数都是经过设计和实现的;而不具有main的通用性。也许你应该知道,一个C程序的执行必然是从main开始的。
关于模块化编程,我备神不知道提问者是否清楚其具体。如果不甚明白的话,请参考(C语言模块化编程(我见过最好的).pdf),来源于百度文库。