一,基础部分:这里分两大块,一块就是数据结构,另一块是算法:
1.数据结构要看的是:基本的数据类型,int ,float,double, char ,指针;
1)扩展数据类型struct,枚举,联合;用户数据定义数据结构:链表,数组.这里要掌握几种基本数据类型的用法!
2)指针,及用指针来处理字符串,因为C里面没有字符串这种类型的变量,其实在其它语言里学习过字符串可能会有先入为主的观点,认为字符串也是一种基本的数据类型,而我告诉你其实不然,计算机的长度是32位,而中国的方块字一个个怎么可能把一串字符存储在一个单位里面而有别于另一个字符串?字符串在C里面是以字符串数组的形式所表现的,而在C中数组的传递实际指首地址的传递即指针的传递.而我们现在生活中所做的项目大部分时间是对字符串的处理,这部分你一定要掌握的非常的牢固!
3.1)修饰符作用要分清:signed,unsigned ,long, short这几种是修饰基本数据类型的;
3.2)作用域和生命周期这部分要了解:Static修饰的生命周期是全局的,function,scope只能限制它的作用域;
4)链表,而链表我就不多说了作为一种非线性存储的数据结构,正因为他的不连续性所以被广泛的应用于数据层的持久化上,一般而言在实际项目中也是使用的非常的广泛,建议多看看.
5)堆与栈,程序出入栈运行的方式一定要熟练,这对你以后调试程序有很好的帮助.堆,没什么好说的,堆上的空间是动态的,正因为它的这一好处,也可能成为很多程序员的梦魇,记得malloc之后一定要free.注:这里不是简单的成双成对的问题,还是上面的知识,每种类型的生命周期和作用域一定要清楚,这里就不会有垃圾内存的问题了.
2.算法,即有效的组织数据结构以最理想的方式运行,从而达到最佳的效果.
1).这方面我觉得首先作为算法的基础,元素之间的运算一定要非常的熟练,要把算术优先级别做到倒背如流,当然有些人和你说这没什么用,你看这没用,等用到时你就等着哭吧.
2).元素间的值传递也要有了解,引用还是直接传值一定要有清晰的思维,赋值也是一种值传递记住,左值和右值要分清.
3).函数的学习,注意无类型指针void的用法,及它的两种含义和用法
4).控制流:结构化程序还是面向对象的设计都必不可少的东西,一定要使用熟练,顺序就不说了,判断,循环里的常用语句烂熟于胸!
3.对外部设备的调用,这写包含文件的操作,注意下就可以了.不必太在意,,其实输入/输出都是这个领域的一些东西,没必要去在意那些什么printf/scanf 之类的没什么用,自己测试代码可以用下,其它的地方就没必要