c语言是完全模块化和结构化的语言,怎么理解,什么是模块化和结构化

2025-02-02 01:53:54
推荐回答(2个)
回答1:

所谓模块化,简单的理解,就是说你的程序是由相互之间相对独立的模块组成。那么具体的说,一个稍微大一点的程序,不可能用一个.c源文件写上几十万行来完成它吧?这个程序会由许多分离的.c源文件来完成代码编写对吧。因此在组织源代码的时候,程序员把在概念上和功能上相对独立的模块分离成单独的.c源文件,这些.c源文件经过编译器编译之后成为独立的.o目标文件,然后链接器将这些独立的.o目标文件链接起来成为最终的程序。这就是模块化的简单理解,模块化侧重于“形成最终程序的源代码可以分离编写在各个.c源文件中”这个涵义。
而结构化则相对来说是一种程序逻辑上的概念。也就是说,你怎么将你的程序最终要达成的功能以一种逻辑的方式将其分离为相对独立的功能,而这些单独的功能最终达成程序的整体功能。而一门语言要支持这种逻辑的分离,就必须提供一种相应的手段和方法来达成这种逻辑的分离对吧。简单的说,如果C语言不允许你自己定义函数,要求你将所有的功能实现都必须写在一个main函数里面的话,你想想也知道那简直太糟糕了对吧。所以C语言提供了一个函数的概念,你可以在函数里定义相对独立的逻辑,函数与函数之间通过函数调用和参数传递来相互沟通。这样就使得一个整体的逻辑可以被分离成相对独立的逻辑,这些相对独立的逻辑通过相互的沟通来达成整体的逻辑。所以简单的说,支持函数就是支持结构化。结构化侧重于“你可以将程序逻辑相互分离”这个涵义。

我想我说的够清楚了。你知道语言的表达能力是有限的,我已经发挥了我语言表达能力的极致。剩下的意会即可。给分吧。

回答2:

这方面的我具体也不知道,根据我个人理解,C语言在编写过程中,要用到数组,指针等来实现函数功能,结构化应该是指实现功能过程中根据具体情况选择的编程方法,常见的如顺序法等(几年没有看书了,还有几个忘记了,常见的应该就是三个吧),这样编出来的程序结构明显。模块化应该是针对完整的程序而言,在编程时,用到mian函数,函数嵌套时子函数调用等,开发软件时,这些函数或者其他的都被做成一个个模块调用。结合那些游戏开发可以理解一下。游戏开发商不是一个人完成的,由很多工作组分别编程各个环节即模块,然后再把这些不同的模块连接起来,开发出游戏,所以说C语言是模块化的,结构化的。个人理解,仅供探讨。