美文网首页
为什么那么多人学不会C语言呢?我来告诉你!

为什么那么多人学不会C语言呢?我来告诉你!

作者: 梦想学堂 | 来源:发表于2019-04-10 20:42 被阅读0次
    在这里插入图片描述
    很多人觉得用C语言作为入门语言觉得太难了,里面还有指针,回调,递归之类的操作太难了。为什么这么多人觉得C语言难?偶就从接下来的几个方面来解释一下。
    第一、 C语言是距离硬件非常近的语言,特别是和内存关联很近,主要还是指针的存在。
    很多人说到指针就头大,指针就是一把双刃剑,能够很好的解决逻辑问题,但指针一旦出现问题,找个问题都很费劲,底层语言直接崩溃对应的查找工具还不多,很多还得靠代码解决,不像java用eclipse装一些插件,内存问题性能问题直接能看的比较清晰,这就是高级语言比较有优势的地方,参与的人多遇到问题,去解决的人也多,对应的工具也多。解决内存和性能的问题,就难倒了很多意志不是坚定的人,很多人选择换语言学习。
    而且与指针相关联的很多东西,在开始学的时候都不是很好理解,回调函数,指针数组,这些组合概念基本上没几下就把初学者给搞晕了,这也是考验耐性的时候,坚持去理解去学习,也就慢慢挺过去了,其实这些都是基本功能的组合,比如回调函数应用的场景,函数的执行时机已经确定,函数内容实现要根据具体的场景来定,这种在windows编程时候在传递句柄的时候用的多。
    要理解回调还得知道函数指针是个啥概念,这种对初学者来说简直就是天书。在学习的时候记住一点先去理解了再去考虑怎么练习,实践。
    不要上来逮着书本上的练习题目呼呼的去敲代码,要理解个差不多再去动手也不迟。
    指针直接的导向就是容易导致内存泄漏,而且如果不是大块的泄漏解决起来都特别费劲,可能需要运行很长一段时间才能查找到,指针的释放位置自己要记录好了,忘记了查找起来相当的麻烦。

    第二、 C语言工具比较少,很多功能的实现都需要自己实现
    很多高级语言几句话的事情,在C语言去实现需要折腾很长时间,这是底层语言不太好的地方,这也就决定了C语言只适合在性能要求比较高的地方去使用,应用方面就不怎么合适了。目前来看在嵌入(加群684478929领取课堂地址加新手礼包)式领域用的还是比较多,特别是在内核驱动,或者操作系统底层实现方面应用的非常广泛,而且这类对于C语言的要求比较高,不是简单写个普通的模块就能搞定的事情。
    查找个性能问题,基本上靠打印定位大的大致方向,采用代码排除的办法去解决,初学者最初可能都没有这种感受,随着做一些实际的项目也就慢慢有这种体会了。

    8e6ccd27369739863a78f496068ebb0a.jpeg

    第三 ,C语言 由于是面向过程的语言,非常难维护

    因为 原则上函数和模块之间可以胡乱调用,如果框架思想不强,写出来的代码就是一锅粥。很多初学者用C语言实现一个功能,基本上都放在一个文件或者函数里面,乱糟糟的代码搞在一起,如果再用指针实现功能,代码简直没法看,当然这是初学者的通病。
    面向过程的代码可以写的非常乱也能正常的去执行,维护起来可就麻烦了,C++在这方面就做了很多的提升和限制,在编译的时候加大了难度,然后在实际执行过程中就显得游刃有余。

    基于以上三点导致很多初学者倒在入门的路上,本质上坚持的力度不够,谁都不可能在开始学的时候都弄得非常清楚,毕竟天才只有少数。学完之后回来总结C语言也就是十个左右的知识点,懂了也就比较轻松了,后续就是靠自己在项目中的打磨了。
    更有效,更能适应企业的学习,想要更深入学习的可以加下我自己建的C/C++学习交流群:684478929** 。 会每天更新学习视频资料哦,欢迎喜欢C/C++的各位大神小神前来学习交流,更有各种项目案例供你自己学习哦。

    如果你依然在编程的世界里迷茫,不知道自己的未来规划,对C/C++感兴趣,这里推荐一下我的学习交流圈:684478929,里面都是学习C/C++的,从最基础的C/C++【C++,游戏,黑客技术,网络安全】到网络安全的项目实战的学习资料都有整理,送给每一位C/C++小伙伴,希望能帮助你更了解C/C++,学习C++

    点击:https://dwz.cn/5Y5L9fpn
    学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习或者为了入行、转行都可以,qun内有开发工具,很多干货和技术资料。

    相关文章

      网友评论

          本文标题:为什么那么多人学不会C语言呢?我来告诉你!

          本文链接:https://www.haomeiwen.com/subject/rffaiqtx.html