C语言是函数式编程语言吗?(c语言是函数式的语言吗)

网友投稿 1766 2022-08-04

C语言是函数式编程语言吗?(c语言是函数式的语言吗)

C语言是函数式编程语言吗?(c语言是函数式的语言吗)

很多初学者都会有这个疑问:C语言是不是函数式编程语言。接下来给大家分析一下。

首先给出结论,是。为什么?我们不妨先来从面向对象切入。

当我们将面向对象看作是语言的属性时,c语言是面向对象语言吗?众所周知,c++,java等高级语言都是面向对象语言,而通常我们说c语言是面向过程的。这是因为c++与java对面向对象提供了很好的优化,通过类,成员变量与方法,继承与多态,虚函数与重载等特性,我们就可以很详细的抽象对象的模型。但是c语言中只有结构体,结构体内部不能定义函数,只能有成员变量,于是我们在用c语言抽象对象模型时遇到了很多困难,所以通常我们说c语言是面向过程的。

但是面向对象的提出是为了编程思想更好的演进,而不是作为划分语言属性。换句话讲,面向对象的编程思想是与语言无关的。使用c语言的结构体,结合函数指针,我们也可以在c语言中实现c++中类的各项功能,只不过我们做了很多在其他高级语言中编译器要做的事情,这对开发者而言很不友好,而且维护成本很高。

这里我要说的是,如果你问我c语言是面向对象语言吗?我一样会回答是。因为面向对象是思想,不是划分语言的属性。

最后,我们回到问题上,函数式意味着我们可以将代码打包封装,预留出接口,一个函数可以从接口调用其它函数的返回值,并将自身的返回值作为接口供其他函数调用。这同样是一种设计思想,通过这样的方式,我们很容易的可以将工程模块化,实现模块间的解耦。

无论是语言本身对于函数式编程的支持与优化上还是从编程思想的实现上,c语言显然都是符合这一特点的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:专升本如何才可以学好c语言?(专升本c语言怎么学)
下一篇:python英语是什么意思?(英文单词python的意思是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~