很多初学者都会有这个疑问:C语言是不是函数式编程语言。接下来编程学习网给大家分析一下。
首先给出结论,是。为什么?我们不妨先来从面向对象切入。
当我们将面向对象看作是语言的属性时,c语言是面向对象语言吗?众所周知,c++,java等高级语言都是面向对象语言,而通常我们说c语言是面向过程的。这是因为c++与java对面向对象提供了很好的优化,通过类,成员变量与方法,继承与多态,虚函数与重载等特性,我们就可以很详细的抽象对象的模型。但是c语言中只有结构体,结构体内部不能定义函数,只能有成员变量,于是我们在用c语言抽象对象模型时遇到了很多困难,所以通常我们说c语言是面向过程的。
但是面向对象的提出是为了编程思想更好的演进,而不是作为划分语言属性。换句话讲,面向对象的编程思想是与语言无关的。使用c语言的结构体,结合函数指针,我们也可以在c语言中实现c++中类的各项功能,只不过我们做了很多在其他高级语言中编译器要做的事情,这对开发者而言很不友好,而且维护成本很高。
这里我要说的是,如果你问我c语言是面向对象语言吗?我一样会回答是。因为面向对象是思想,不是划分语言的属性。
最后,我们回到问题上,函数式意味着我们可以将代码打包封装,预留出接口,一个函数可以从接口调用其它函数的返回值,并将自身的返回值作为接口供其他函数调用。这同样是一种设计思想,通过这样的方式,我们很容易的可以将工程模块化,实现模块间的解耦。
无论是语言本身对于函数式编程的支持与优化上还是从编程思想的实现上,c语言显然都是符合这一特点的。
以上就是“C语言是函数式编程语言吗?(c语言是函数式的语言吗)”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/9321/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料