既然了解了C语言对编程领域的重要性,那就应该学懂它。但是C语言偏向底层,各种使用方式都比较原始,因此学懂它也不是轻松一件事。但也有迹可循:

从这么几条线入手

变量---流程控制---函数---指针

数组---字符数组---字符串---结构体---链表

文件操作---多文件---库的使用

其他的可以通过这几条线带出来。

如:变量的申请可以引出栈中申请空间,堆中申请空间

如:结构体+指针,可以做节点,节点可以做链表,链表根据指针分布可以做:单向链表、双向链表、循环链表、队列。

如:库的使用有stdio.h这些默认写了,还有需要手工写的如:malloc.h,string.h,还有图形库,还有操作数据库的动态链接库。

学习C语言感觉零散,是因为缺少贯穿的主线,此其一;其二,是因为缺少客观世界道理的支撑,导致程序语法出现的莫名其妙。外行人看莫名其妙会感觉神奇,但是神奇意味着不懂,因此要学编程,不要再让它有神奇的感觉,否则就不懂了。

学习编程要有一种悟的精神,它跟佛学类似,都需要悟。不是背诵几个语法而沾沾自喜就算了事的,也不是期末高分,笔试机试都通过就宣告学有所成的。

它是一个持续研究的过程,一个反复训练不断提升的过程。当你在上层语言中的学习遇到了瓶颈,你需要回头来从底层找原因。否则像linux中的apache,nginx,sphinx,mysql源码编译等这些会让你晕头转向,这时候你很可能忽略这些看似复杂的东西其实都在C语言的编程过程中有影子和启发的。

如:让你源码编译,其实就是说那些复杂的源文件其实和你写的.c源文件一样,充其量就是你写的文件少,它写的文件多,所以多了编译顺序和编译规则,也就是那个叫Makefile的东西。

所以只要你还在或者想进入编程领域,C语言总会有影子,只有理解了它的来龙去脉,才对实际有意义。了解来龙去脉,这就是在说学习C语言的最佳学习方法:给一个不懂计算机的老太太解释为什么要有C语言,以及C语言是什么,能干什么,里面有什么内容等等。

那么衍生出来的具体学习方法就有且不限于:思考、记录总结和灵感、整理笔记。当你哪一天躺在床上闭目养神的时候头脑里能回顾出C语言的知识体系并能落实到程序,然后想讲什么就讲什么的时候,你才算是学活C语言了。

总结学习方法

1:按上面的几条线,构建出C语言的知识体系。

2:多思考,很多莫名其妙的问题先记录,然后试着去寻找答案,找那些起码能说服的了你的理由。

3:多记录灵感,灵感能让你的知识体系中的盲点有画龙点睛之效。

4:整理和精简笔记。笔记一开始会越来越多,后续就要不断的精简,让它越来越少,少到几页纸...

5:轻松的心态去学习,不要太功利化。一般功利化太重,基本上都学不好。

6:坚持,反复,再反复。学懂C语言不会一蹴而就,一蹴而就的那是背诵题目应付考试。