为什么很多人觉得C语言只要学会了指针基本上差不多掌握这门语言?

作者&投稿:台肾 (若有异议请与网页底部的电邮联系)
~ 从事嵌入式开发十几年,只要使用的编程语言有三种,C/C++ Java三种,其中C语言使用的时间最长,这门编程语言的最大特别是语法细节简介,但是灵活性非常强,从大的方面看要真正掌握一种编程语言,需要真正的项目实战,只是停留在理论层面上很难认清编程语言背后的本质,记得刚学习C语言阶段,基本上一个多月就把基础语法学习完了,并且做了大量的实习题目,觉得这门编程语言就这么回事了。

于是从学校的图书馆里面借了一本将近1000页的linux内核讲解书籍,开始先从战略上藐视对手,在战术上重视在开始几十页进展的还是比较顺利,始终觉得掌握好了基础的语法,后面的就是变通和灵活运用的问题了,还能变出什么幺蛾子结果,看到后面简直就是在阅读天书了,才知道了自己认识的浅薄,只是掌握点语法皮毛就想着挑大梁这种想法在编程行业显得非常的幼稚,编程行业除了理论之外实战经验显得非常重要。

回到题目中的C语言的核心知识点指针,C语言关键语法点指针,数组,结构体,回调,递归,函数等等,剩下就是这些个概念在项目实战中的应用了,指针对于初学者来讲就是一种双刃剑,如果真的掌握理解了,能在编程中提升非常大的效率,如果没有掌握对于很多初学者来讲就是一种折磨,很多人觉得学不好C语言版本的数据结构,其实很重要的一个障碍就是指针,如果对于指针了解清楚,再去切入数据结构的学习就会显得轻松许多,指针作为C语言里面最重要的语法一点不为过,但是认为掌握了指针C语言就会显得非常肤浅。

任何一种编程语言的背后都是大量的编程模式以及编程的套路,这些只有在真正的项目实战中才能掌握,而且对于一种编程语言越是做的时间长越是觉得自己的肤浅,更加不敢称之为精通,倒是现在很多初生牛犊在简历上写上精通几种编程语言,越是干的时间长越是忌讳提到精通两个字眼,所以讲只是掌握了指针就说掌握一门编程语言的一半显得认识不足,真正掌握编程语言还是靠项目实战,不是所谓几个重点语法这么简单的事情。

学习一种编程语言需要掌握几个重点要素,首先掌握理论基础,世要真正的明白,虽然编程语言是一种实践性的语言,但实践的前提是掌握理论基础,很多人不懂C语言的指针就是因为没有彻底明白指针的含义,只想着快点追赶进度,结果欲速则不达,越是重要的概念越是要彻底掌握明白;第二点就是实战,在掌握理论基础上就是通过项目实战获取经验,纸上谈兵永远也不做不了真正的项目,想尽一切办法去做项目实战,没有别的途径,直面问题的本质,希望能帮到你。

很高兴能回答你的问题

C语言作为编程老祖,很多软件工具脚本都是用C语言或C++来编写的。那么C语言到底学成什么样才算学的比较好?

我上大学一年级的时候,就开始接触C语言了,C语言自认为学的还可以。像数据、变量、循环、判断等都是手到擒来。但学到第8章,也就是学到了指针那一块,就感觉有一点懵了,老师也说指针是比较费脑力的,死记硬背是不可取的,需要理解它的含义。

在学习指针之前,基本都没了解面向对象是什么意思。但学到了指针就懂得面向对象与面向过程的差异。(简单来说,前者就是以对象为基础,设定其属性啊,行为等。后者就是以完成它的过程为主,比如说:计算两个数相加。前者可以设计为小猫计算两个数,也可以是小猫2......,而后者就是计算,而且可以具体到是哪两个数相加。)面向对象对于现在的编程语言还是很重要的。

个人觉得,指针与面向对象密切相关,导致在C语言中指针就变得尤其重要,像我后面学习的Python、java就没有指针一说,但出现了很多类。相对C语言来说,多出了很多很多类。可能是指针被封装起来了吧。

更多精彩,敬请期待!

指针远远不是C语言的全部,

只是在C语言学习道路上相对而言比较难理解的一块。

毕竟从一个高级语言的角度去理解地址,比较抽象。

作为一个高级语言,数据类型,流程控制,函数这些才是高级语言的重点。

说差不多掌握这门语言,应该就是指的指针的难度,和学习的耗时。

也对,也不对,学会指针只是入门了。位运算与文件学会才能写应用。

只要学过嵌入式开发对指针必定是秒懂,无非就是内存寻址。脱离了硬件去学C只能学点皮毛。充其量也只能说会点语法而已。线程进程信号量系统调用各种通讯协议这些才是精华所在。

c语言是结构性(相对面向对象编程语言)高级编程语言。单纯语言本身来讲,语法结构大致类同。c语言的一大特点是对内存操作的灵活性,如果理解了对内存操作和管理的知识点,基本就掌握了这门语言。而指针便是c语言对内存操作的金钥匙。要想掌握c语言,也必须要精通指针相关知识点。

如果不算数据结构、操作系统和算法这些东西。纯粹从语言角度来看,掌握指针技巧,确实可以认为基本掌握语言了。要想更加精进的话,可以考虑学习各个硬件平台了。

比如SIMD在各个CPU平台的实现等。做一些针对性的硬件优化是可以考虑的。多媒体库就做了大量的硬件针对性优化。这个内容也算是核心技术的一部分了。核心技术的另一部分可以认为是算法和操作系统知识的应用。

首先说明的是指针是C语言的一个难点,但是不是全部。就好比不会指针,很多编程技巧无法掌握,同样掌握指针也不见得你能做什么。很多编程技巧需要在实际项目中去体会和学习。等觉得自己像编译器一样思考,自己写的每句代码,都很清楚编译器背后是怎么处理的时候再说自己熟练掌握C语言了。

最后总结来说,掌握指针只是C语言"真正"入门的一个表现。

语言本身掌握不算难,重点是算法,数据结构,编程思想...

我一般自己设计编译器 c指针按我自己的想法来写 怎么的


C语言和C++有什么区别?
1、C语言:能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。2、C++:不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。三、特点不同 1、C语言:提供了许多低级处理的功能...

C语言,大家说C语言是最好的入门,我想学习C,可我什么都不懂,有人能告 ...
当然了,学习什么语言也要看你具体准备从事什么行业。例如你要进行嵌入式开发,C就是很好的选择,如果是Windows开发,那么VC就不错。还有数据库方面的开发、网络开发等等。不同的语言适合不同的方面。要看自己的选择的,呵呵 。还有很多人说自己的基础很差,甚至中学毕业什么的。其实这个并不重要,比较说...

C语言程序设计 谭浩强 为什么很多人说他害人
谭浩强的书真的是只适合二级的,基本上适合所有专业的人,如果你是计算机的,那他这本书真的只算是入门的。其实一门语言并不是很重要,重要的是算法,语言是死的,算法是有灵魂的

零基础学程序员先学什么(零基础学程序员先学什么好)
至于要进入IT业,方向和门类很多,所以学什么更好不能一概而论。 如果希望能够进入计算机系,拿一个“科班出身”的学位,从Pascal学起不错,可以把Structuredprogramming的基础打好。但是大部分人,从VisusalBasic学起更能够速成,并增加自信。 大计算机科学的底子:c,c++,离散数学,数据结构,数据库,软件工程,(可参考MIT...

请问一下,学编程要从哪里学起好呢?听别人说先学C语言,为什么要先学C语 ...
第一,c语言是公认的通用语言,编程各方各面都可以看到c语言的影子 第二,很大部分的参考资料用的是c语言(实际上说应该是c++,c++和c像极了,甚至说c语言可以直接在c++上使用,尽管网上很多人说这两个玩意实际没什么关系)第三,c语言接触底层比较多,其写出来的程序乃java .net vb等吭爹效率不能比 第...

C语言是什么意思?
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上...

Java和C语言有什么区别?
\\x0d\\x0a\\x0d\\x0aJava是在C++的基础上进行改进的,摒弃了一些C++的不足之处,语法跟C++很像,它是运行在Java虚拟机上,所以可以跨平台,一处编译,到处执行。\\x0d\\x0a\\x0d\\x0a编程都是易学难精,哪个都好学,哪个又都不好学。都有很好的发展前景,就看是什么方向了。底层的C、桌面...

C语言好还是C好_哪种c语言比较好
如果还是有人想学习C\/C的话,有一些小问题我还是乐意解答的.但是我认为学习C\/C是不重要的,重要的是如何锻炼你的思路.不要找一些连自己都搞不清的问题去做. 我认为虽然"潭浩强"同志有骗钱的嫌疑(我手头就有一本几乎一模一样的英文书),但是,是他把这本入门手册引入中国,使无数程序员了解了C语言,我想他的功...

什么叫做C语言?初中毕业可以学习吗?
嗯,当然可以。初中很多学校都开始教BASIC语言了,而C语言也是一门编程语言,当然也可以学了。教材可以选择大一课本,我觉得只要有人讲解,对初中生来说非常容易懂,所以你在网上下载一些教学视频。不懂的地方,把书上的和视频上的例题和作业题认真做一做。指针那一章节要彻底读懂,那一章对初学者来说...

C语言和python语言有很多相似吗
总结以上说了那么多Python和C的不同,总结来说就是C语言是很基础的语言,就好比我们在小学的时候学习的加减乘除,是为以后学习解一元二次方程、椭圆方程等高级题目做准备的,学C语言也一样,是基础,是我们入门编程的第一课,让我们体会到什么是变量、什么是方法、函数,所以我认为C语言更适合做入门的语言。

内黄县15864691032: C语言到底要学多长时间 -
简左安脱: · 这样看你想学到什么程度,一般只是用来入门的话,也就是通过学习c为以后学习其他编程语言和开发工具的话,相信几个月大致的就可以学好,但是你要只精通c的话,我想不是一天两天能学好的,也不是几个月能学好的,我有个同学讲,学了c几年了,才发现还没入门.虽然有点夸张,但还是说明,精通他你学要很多时间的,我指的精通可不是会用这么简单,你能了解他的方方面,甚至能够看出市场上编译器的缺点出来.当然,对我们来说有必要成为这样的人吗,估计达到这种程度可以去制定c语言标准了.不要问到底学多久,问问自己学他用来干什么吧.

内黄县15864691032: 学C语言先学什么? -
简左安脱: 一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它. 第二:C语言能够让你深入系统底层,你知道的操作系统,...

内黄县15864691032: 感觉C语言只在学数学什么回事?我刚学C的
简左安脱: c语言可以做很多事情,如写驱动程序,大多数驱动都是由c来完成的,其执行的效率高,且运用灵活主要指 指针 ,你学到后面就知道指针是什么回事了,它还可以用来写操作系统内核,linux的内核大多数是由c完成的,用c来完成底层开发是很不错的选者,反正其很强大,强大到你无法想象

内黄县15864691032: 学会了c语言课本离实际工作有多远? -
简左安脱: C语言是最基本的东西,只是一种和微处理器交流的工具,但这并不意味着什么,更重要的是你要懂运行环境本身,就好比如果你只会C语言,我让你去编写个超级玛丽游戏,或者编写个类似迅雷的下载软件,你肯定无从下手,你C语言学的再...

内黄县15864691032: 大学生为什么要学习C语言 -
简左安脱: C语言是计算机编程最基础的语言之一,学习难度简单,使用面最广,通用性也很强,学会C语言再去学别的也很容易 除了计算机编程其它的开发、设计中也会用到一些基础知识,比如字,字节,有的可能会用到if语句,for循环等等

内黄县15864691032: 为什么很多专业都要学C语言 -
简左安脱: 因为C语言是最基本的高级编程语言,可以学习很多编程的思想.当你学习其他编程语言的时候,就可以速成了. 比如你说的数控也要编程,你要是学过C,那数控的变成相当easy了.而且如果搞控制的话,很多控制器的开发环境都使用C语言.学了C不一定你以后用的着,你用到的时候再学就晚了.就这么简单

内黄县15864691032: C语言有必要学得很好吗? -
简左安脱: 笑.C语言被淘汰了?现在的你用的WIN操作系统.LINCX操作系统.哪个不是用C写的..驱动.嵌入式.内核一些底层的东西哪个不是用C....C语言用处大着呢...你只要把C学好了.其实的学起来.也就是几个星期的事情.至少就我认为..而且也是大多人认为...学好C是必需的.甚至要精通.

内黄县15864691032: 怎么学好C语言 -
简左安脱: 1、学好C语言,你可以很好地应付任何一种编程工具.2、一定要多上机练习,通过程式了解相关知识.几经反复方得正果.3、不要把学习C语言当成一种任务,更不要把它看成很难完成的任务.要充满自信,只要是一个智力正常的人都能学好...

内黄县15864691032: 学好C语言有什么用 -
简左安脱: C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围广泛.主要有以...

内黄县15864691032: 我怎么才能学好c语言? -
简左安脱: 1.学C语言重要的是你的逻辑思维和坚持学习的恒心,学编程特别是语言就要多看,多思考,多练,也就是多敲代码. 2.就C语言来说,是编程者应该好好学的一门语言,因为它是你日后要学的其他一些更高级的面向对象的编程语言的基础,学好...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网