欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

不要认为做php就不需要学习c语言

程序员文章站 2022-03-17 21:35:36
...

不要认为做php就不需要学习c语言

之所以这样说“不要认为学PHP就不需要学C语言”,是因为一味的只学PHP而没有C语言等这些基础语言的支撑,是很难深入理解PHP的很多东西的。

这样的例子其实很多,这里我就举这个例子吧:PHP的数组和C语言的数组的区别和联系。

学过C语言的朋友当然知道C语言里有数组;

PHP里也有数组,但他们两个的功能几乎差别很大,PHP的数组太多很好用的功能。那这是什么原因?是不是有多种数组,你只是学其中一种数组?其实不是的。

根本原因是:C语言里的数组是真正的数组,是在栈中申请的一段连续存储的空间,这种空间一旦申请是不能再添加一个元素,再删除某个元素,只能整体操作,要么全部删除,要么重新再申请一个数组。这就是真正的数组。

而PHP中的数组,其实不是这样的数组,它是在堆中申请内存,然后用指针去指向头地址,然后遍历指针,这样就可以删除某一个元素,随时添加一个新元素,因为它本质上不再是那种真正的数组,而是链表。

那么从这里可以看出,C语言对于PHP的理解和学习意义很大。没有C语言的链表支撑,会让PHP的那些特性出现的莫名其妙,漫天幻想也总是感觉脚不着地。

C语言中的链表原理是实现C++里的vector,list,map,等动态数组、链表、集合、队列的原理依据,也是实现PHP里面的数组(本质是链表实现的动态数组)的原理依据。

那么上层语言的那些复杂的数据结构的理解也就变得顺理成章了。对于PHP数组的那些操作也就变得很容易理解了。如:

在最后插入一个元素:

不要认为做php就不需要学习c语言

不要认为做php就不需要学习c语言

弹出一个元素:

不要认为做php就不需要学习c语言

不要认为做php就不需要学习c语言

这些东西用起来是很舒畅的,不会给你弹出一个恐怖的黑窗口错误提示,但是舒畅的背后是需要基础来支撑和理解的,牺牲编译性能是它的事,但能否理解的通就是你的事了,理解不了就只能死记硬背,那就不舒畅了,因为会很容易忘记。

如何才能不容易忘记,那就要理解它,理解它的来源,理解它可行性的实现原理....一切才会顺其自然。谁也没有规定,你要学会必须要学的很痛苦才行啊。

知其然而不知其所以然,是学有所成的最大障碍,也是出现学习瓶颈的最大因素。

所以C语言的意义在于对上层语言更轻松的理解,上层语言中如:PHP,不是用来学链表的,而是用链表的。所以用PHP来写个链表其实意义性并不大。

那只是给见识很少的初学者进行一次“学术显摆”而已。因为PHP里连指针都隐藏了,又何谈深入理解链表?也难怪学C的看不上C++的,学C++的看不上学PHP的;难度不一样,在有深厚内功的编程人员眼里,很多所谓的过来人其实是在做“哗众取宠”的事,估计是那种无所谓只要能忽悠初学者就行的感觉吧。

学习要善于联想,才能给学习减负。关注学习心情,才能长远。善于理解还是需要一定的实力、广度和深度来支撑的。

所以,不要再认为学PHP就可以不要学C语言了,否则你理解PHP很多东西都难理解的通,没有基础只能靠幻想、背诵,也难深入和长久学下去,因为太累......同时学C语言也不是说你看了、学了就算过关了,关键是要会,要懂。

比如随便给一个不懂计算机的人就能解释链表是什么?有什么特点,怎么实现等等。你能说多少,才表示你会了多少。

想了解更多相关问题请访问PHP中文网:PHP视频教程

以上就是不要认为做php就不需要学习c语言的详细内容,更多请关注其它相关文章!

相关标签: php c语言