扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
函数就是一个模块。
宁波网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
模块编程指的就是用函数实现各个功能,然后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就可以只关注某个模块。
回答完毕,希望采纳。
模块化编程是为了更好的管理工程、方便以后移植代码、使主函数或主文件(即有main函数的那个文件)变得简单,因为我们读代码时一般都是从主函数开始读的。
那怎么进行模块化呢?
简单的就是一个功能包装成一个函数,要实现什么功能就调用哪个函数实现。
而复杂点的就是,一个功能模块统一放一个C文件中,这个模块相关的函数全部在这个C文件中实现,在主文件(即有main函数的C文件)想要使用这个模块的功能函数,只需要包含它的头文件就可以调用了。那头文件就只是放这个功能模块的函数声明。
这样子做,以后移植就方便多了。如果别的工程需要这个功能模块,只需复制一下它的C文件已经H文件到这个工程目录下,就能使用。
比如实现LCD描字、划线、画圆等等函数都放在一个叫做lcd.c的文件中,那就应该有一个叫做lcd.h的文件跟它对应,这个.h都是放这个.c文件对外函数的声明。主文件的开头出只需来一个#include"lcd.h"就可以调用这些画圆划线函数了。
C语言中用函数来实现程序模块。
模块化程序设计是将一个大的任务分解成若干个小任务,再将小任务分解成更小的任务,直到每一个任务都只完成一个独立功能。这样的每个任务都叫做模块,C语言中模块是用函数来实现的。
借助函数来实现程序模块化,把你想实现的功能用函数来实现,不同功能的就用不同的函数来实现,而且,函数在一定程度上可以被复用,所以称为模块,搜索零基础学通C语言系列大全之线程_模块儿_静态库_循环总结视频教程就可以看了。
头文件:包括两种,举个例子,#include stdio.h 和#include "type.h"
前者,当你在C语言的最开头加上这句后,就可以使用系统已经帮你包装好的函数,例如printf等,后者则是你自己写的头文件。
库函数:是C语言编译器已经帮你设计好的程序,例如打印信息可以直接使用printf,打开硬盘的某个文件可以使用fopen,等等。
模块化:这个概念就是要求我们尽量将一个程序分割成很多小的功能,每个功能均用一个函数来实现,而不是一个程序从头到尾只用一到二个函数就完成了。
所谓模块化,简单的理解,就是说你的程序是由相互之间相对独立的模块组成。那么具体的说,一个稍微大一点的程序,不可能用一个.c源文件写上几十万行来完成它吧?这个程序会由许多分离的.c源文件来完成代码编写对吧。因此在组织源代码的时候,程序员把在概念上和功能上相对独立的模块分离成单独的.c源文件,这些.c源文件经过编译器编译之后成为独立的.o目标文件,然后链接器将这些独立的.o目标文件链接起来成为最终的程序。这就是模块化的简单理解,模块化侧重于“形成最终程序的源代码可以分离编写在各个.c源文件中”这个涵义。
而结构化则相对来说是一种程序逻辑上的概念。也就是说,你怎么将你的程序最终要达成的功能以一种逻辑的方式将其分离为相对独立的功能,而这些单独的功能最终达成程序的整体功能。而一门语言要支持这种逻辑的分离,就必须提供一种相应的手段和方法来达成这种逻辑的分离对吧。简单的说,如果C语言不允许你自己定义函数,要求你将所有的功能实现都必须写在一个main函数里面的话,你想想也知道那简直太糟糕了对吧。所以C语言提供了一个函数的概念,你可以在函数里定义相对独立的逻辑,函数与函数之间通过函数调用和参数传递来相互沟通。这样就使得一个整体的逻辑可以被分离成相对独立的逻辑,这些相对独立的逻辑通过相互的沟通来达成整体的逻辑。所以简单的说,支持函数就是支持结构化。结构化侧重于“你可以将程序逻辑相互分离”这个涵义。
我想我说的够清楚了。你知道语言的表达能力是有限的,我已经发挥了我语言表达能力的极致。剩下的意会即可。给分吧。
结构化体现一种程序设计的思想,其基本原则是:从上到下,分而治之。
可以按照功能或其它原则把程序分成几个部分,分别设计。进而组合在一起,这时要考虑几个部分的通融性和兼容性。
模块化更多的是考虑一个功能在不同的情况下的通用性,我的意思是比如你设计了一个功能,你需要保证它能适应于不同的情况,比如适应于不同的数据类型等等。
模块化有点泛型的意思,就像系统提供的泛型函数,任何数据类型都可以调用的,另外,模块化具有封装性,需要把所设计的模块封装起来,对外只提供接口,其它部分只可以通过接口进行调用,因为考虑它的通用性,所以必须考虑它本身以及接口的通用性:它本身必须能够处理任何数据类型,接口必须能够接受和处理任何数据类型。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流