c语言的缺陷,c语言的缺陷与陷阱

dfnjsfkhak 9 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言的缺陷的问题,于是小编就整理了3个相关介绍c语言的缺陷的解答,让我们一起看看吧。

  1. C语言有哪些缺点?
  2. 为什么C语言诡异离奇、缺陷重重,却获得了巨大的成功?
  3. C语言到底有多强大?

C语言有哪些缺点?

我不知道你是从事程序开发的还是只是好奇的路人,又或者是想踏入程序员行业的?那我就当你只是好奇的路人吧。

不说太高深的,一句话概括就是 c语言是一种非常强大也是非常灵活的语言,但同样的,他的优点也同样是他的缺点,在灵活的同时,对于新手来说,处处都是雷区。

c语言的缺陷,c语言的缺陷与陷阱-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

什么C语言诡异离奇、缺陷重重,却获得了巨大的成功?

第一次听到有人这样评价c语言,这种评价并不合理,也不客观吧???不知道提问者是站在什么角度来看待它,从而得出这样的结论,要说诡异,除了二进制机器码,又有哪个语言能比汇编更诡异????陷阱更多???相反,***如你使用更高一级的语言来编写底层的东西,会感觉更诡异,效率差的不是一星半点!C语言给予人们在操作计算机方面最大的自由度,

一种编程语言要能立足,能成功,它就一定合乎逻辑、能够自洽。题主承认它获得了巨大成功,却又指它诡异离奇、缺陷重重,这就是自己陷入不能自洽、不合逻辑的打脸窘境,不证自明:毛病没有出在C语言,而是出在......那里。

已经使用了C语言十几年了,今天还在写C语言代码,C语言算是很多编程语言祖师爷了,已经取得了巨大的成功但还是很多人对于C语言存在很大的偏见,觉得C语言里面很多语法别扭,特别是指针的使用让很多人吃尽了苦头,工作十几年前前后后玩过几种编程语言,c++java等比较来看还是C语言简单些,C语言的难点整体来看也就那几个

c语言的缺陷,c语言的缺陷与陷阱-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

1.指针用法

2.函数

3.递归

c语言的缺陷,c语言的缺陷与陷阱-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

4.内存管理

指针和回调函数以及内存管理都有紧密的关系,所以一旦指针概念突破不了很难全面理解透彻,因为指针灵活方便,但造成了多少不方便之处,有多少人在卡在指针上,记得刚学C语言那阵子,指针概念学的差不多了,觉得自己无往不利了,就开始从图书馆了借了一本linux内核解读,差不多有1000多页,心想既然linux内核都是C语言写的,基础知识点掌握的差不多了可以一些项目了,由于书开始做了大量的注释基本的概念还是能看懂,结果看到90多页就有点顶不住了,坚持了几天彻底放弃了,才知道这里面道行很深,不是看懂了概念就能什么就能搞明白,于是老老实实回来继续研究基础了,学习任何一种编程语言都需要有一个循序渐进的过程,遇到困难坚持不下去在心里永远觉得很难,后来做了几个嵌入式项目之后,再去看这本书感觉已经大不一样了,但还是有看不懂的。

后来接触C++项目,又会发现C语言的和C++根本没法比,会觉得C语言简直简单太多,诡异离奇、缺陷重重这个词更加适合放在C++上面,C语言比C++温柔多了,而且C++语法细节还在不停的更新,给人一种永远学不完的感觉,很多初学者开始学习发现能编译过去就是一种幸福了,有多少人卡在泛型编程上不能自拔,不太建议刚学编程的小伙伴直接直接切入学习C++,容易打击到学习编程的自信心,当然初学循序渐进的学习也是可以的,可以先从面向对象编程语言的基本概念开始,然后慢慢切入到泛型编程里面,C++虽然难却是很多架构师的最爱,而且做的时间越长感觉越长。

其实来说,和现代这些语言比c语言没有任何诡异离奇之处,也没有任何大的缺陷。反而简***朴、接近底层,性能高效,类库强大。这才使得C语言成了最伟大程序语言之一,也创建了很多最伟大的应用

c语言简单朴实

c语言基本语法不多,就几个基本类型和可扩展数据结构,还有强大实用的指针,数据类型结构如下图。

C语言底层高效

C语言是高级言中离底层硬件最近的语言,加上glibc等强大类库,是的其天生适合底层OS内核、硬件驱动等的开发,因为C语言就发明出来写Unix的。

c语言指针陷阱

C语言到底有多强大?

C语言主要应用场景相对于其他语言来说及其广泛,可以说算是目前为止,在x86和ARM平台几乎可完全可通用的存在。

至于为什么说C语言强大,这里并非是指C语言在设计有什么便捷或是高效开发等优势。而是因为C语言是最接近低级语言逻辑的高级语言,且运行效率自然也是高级语言中最高,同时又具备极强的程序通用性,方便移植等等。不过这里的运行效率主要还是看开发者怎么写代码决定,万一开发者就是喜欢写一大堆高占用低效率又不去做优化的代码,那就另当别论了。

由于C语言作为高级语言,因编程核心思维逻辑过于接近低级语言的程序直接与硬件交互思维,比如x86汇编语言思维。从而导致其语言上手难度系数极高。初学者要么是有系统化的教学[_a***_]才有可能学会基础,而对于自学者来说,要么是天生具备这样的思维和兴趣,要么是具备一定的编程基础,就比如学习过其他高级语言,只有这样才有可能自学成功。

C语言的强大在于开发上,你可以对自己写的程序有更加精准的运行控制,就比如:字符处理。同时由于其基本通用于各大平台的特点,基本上可以实现通吃,因此C语言写出来的东西更具备了极好的可移植性,程序通用程度也是极高的。

至于C语言的缺点自然也是它的优点所带来的相反一面,有点像后遗症,就比如:栈溢出,因为C语言没有内置检查机制来限制缓冲区的数据大小,因此缓存数据足够大的时,数据就会溢出缓冲区,从而出现程序运行异常

最后说一句,如果是自学编程,在没有任何基础的情况下,建议第一门语言不要选择C语言或与C语言存在某种类似性的语言,比如C++、JAVA,否则及其容易被劝退。当然,如果你有足够的兴趣和毅力除外。

如果你是有一门其他语言基础的情况下,只要具备编程思维,自学C语言其实也并不是什么难事,可以自学。

学编程的关键不在于你学什么语言,因为语言只是一种工具,编程最核心的东西是要具备编程的逻辑思维,这才是最关键的!!!

到此,以上就是小编对于c语言的缺陷的问题就介绍到这了,希望介绍关于c语言的缺陷的3点解答对大家有用

标签: 语言 c++ 指针

上一个无人机技术培训哪里有,无人机专业培训机构

下一个长沙无人机测绘培训基地,长沙无人机测绘培训基地在哪里