随着计算机在我们生活中和工作中的重要性越明显,不管是为了方便自己对计算机的使用,还是因为工作的需要,越来越多的人去学习一些计算机的相关知识。身边也有很多学习C语言的学者,他们期初是信心满满,但越到后来越发现找不到方向,越到后来越觉得迷茫,今天,就让北京学习了的BAT老师为你讲一讲C语言最难啃的地方。
一、指针
C语言之所以让高手备受青睐,就是因为“指针”有着将你绕懵的魅力。指针又是学习C语言绕不开的知识点,指针作为一个特殊的变量,专门存放地址的变量,这个地址需要给申请空间才能装东西,而且因为是个变量可以中间赋值,这么一倒腾很多人就开始迷糊了!
指针对接内存结构,可以申请释放内容,如果释放不及时就会出现内存泄露的情况,指针是高效好用,但不彻底搞明白对于有些人来说简直就是噩梦。
二、函数(如:指针函数、函数指针)
一个函数就是一个业务逻辑块,是面向过程,单元模块的最小单元,而且在函数的执行过程中,形参,实参如何交换数据,如何将数据传递出去,如何设计一个合理的函数,不单单是解决一个功能,还要看是不是能够复用,避免重复造轮子。
展开全文
特别是函数里的指针函数和函数指针,这两函数含义上是截然不同的,所以,这一环节又回到了指针层面,如果前期没打好基础很难深入往前走。
三、结构体
从事编程角度来说对这个概念不难理解,没有一个业务体是完全使用原生数据类型来完成的,很多高手在设计数据模型的时候,一般先把头文件中的结构体数据整理出来。然后设计好功能函数的参数,以及名字,然后才真正开始写c源码。
如果从节省空间考虑结构体里面的数据放的顺序不一样在内存中占用的空间也不一样,结构体与结构体之间赋值,结构体存在指针那么赋值要特别注意,需要进行深度的赋值。
四、递归
递归一般用于从头到位统计或者罗列一些数据,在使用的时候很多初学者都觉得别扭,怎么还能自己调用自己?而且在使用的时候,一定设置好跳出的条件,不然无休止的进行下去,真就成无线死循环了。
这四块是C语言最难学的地方,你需要下足功夫啃下这几块,搞懂这几点基本就打通学C语言的思路,你接下来在学别的内容就简单多了。
也建议你在学习上不要一条路跑到黑,要知道学习并非线性,而是网状,在现阶段的知识储备下,有些地方看不懂很正常。看不懂可以先放下,继续看可以看懂的。看懂一些,你的知识网就有些结点了,新的知识需要跟旧结点关联起来。原有的知识网越大,新知识越容易关联,就可以学得越来越快。疑问记在心底,记不住就写下来,或者有一天回头自然就懂了。
同时,也要思考一下两个问题:
①基于什么原因,要提出这个概念?也就是 why。
②这个概念是怎么描述的,语法方面是什么?也就是 how。
最后,小学想说的是编程是一个很枯燥的过程,越是痛苦难熬的时候你越要有韧劲,这个时候你会发现学到的东西越多,克服过去才能获得技能提升,慢慢的你会发觉越是难学的语言在入门之后越觉得过瘾,而且还容易上瘾。
试问你是否也上瘾了没?