学习C语言,由于的是他的执行效能高,可直接操做内存,很是灵活,给程序员以及大的发展空间,受硬件环境的影响极小,这也正是不少嵌入式开发平台选用C是同样的道理,那怎么学习C呢? 仍是找本书照本宣科的从头学吗?还写HelloWorld吗?我认为没有必要这样了,中国为何这么落后,中国的教育为何老是被各国所数落?中国的软件产业为何发展这么缓慢?我以为最根本的缘由是学生不知道本身学的东西有什么用?能作什么?学习没有方向,没有目的,你学结构学算法,学排序,学遍历(即查找)这些算法,学链表,学结构体,这些数据结构为了什么? 有的学员有爆棚自信,认为我计算机学了四年什么东西我没作过,什么东西我没学过? 可是为什么到企业却到处碰壁呢?我以为是心态没有摆正,你觉得本身是大学生别人就应该说5k-6k的请你求你去?低去4K看都不看?但实际上ICL3241CV软件开发是要有经验的,不是说理论知识就好了,你能够说你在学校里作过的几个项目,那能叫项目吗?没有需求没有分析,律千篇的都是XX管理系统,学生管理系统,学分管理系统GMS97L58PL,学星爷大话西游里的话:有点创意好很差,老兄.你说别人用人单位看到这样的简历或经历别人会用你吗? 用MFC的架子作个学员仍是老师管理系统这种东西别人用人单位看都不看直接扔的,由于特别是在中国像这样的行业软件几乎都是定制,就连东软金碟这样的CMM5的企业都不敢说本身卖的是产品型的软件.也就是说每一个软件都有它本身的设计模式,不是说像MFC这样一开始就定好的框架,除非你本身玩下,还能够要否则这东西基本是没有用,若是说VC这块你要学习的话建议仍是学下ATL即COM技术,这块必竟仍是有作中间件的企业会须要的!总结了一下C中比较重要的内容,虽然也有朋友发表过相似的东西以为比较乱的,本身理了下: 一,基础部分:这里分两大块,一块就是数据结构RCV336ACF/SVD,另外一块是算法: 1.数据结构要看的是:基本的数据类型,int ,float,double, char ,指针; 1)扩展数据类型struct,枚举,联合;用户数据定义数据结构:链表,数组.这里要掌握几种基本数据类型的用法! 2)MIC2025-2YM指针,及用指针来处理字符串,由于C里面没有字符串这种类型的变量,其实在其它语言里学习过字符串可能会有先入为主的观点,认为字符串也是一种基本的数据类型,而我告诉你其实否则,计算机的长度是32位,而中国的方块字一个个怎么可能把一串字符存储在一个单位里面而有别于另外一个字符串?字符串在C里面是以字符串数组的形式所表现的UTC3842A,而在C中数组的传递实际指首地址的传递即指针的传递.而咱们如今生活中所作的项目大部分时间是对字符串的处理,这部分你必定要掌握的很是的牢固! 3.1)修饰符做用要分清:signed,unsigned ,long, short这几种是修饰基本数据类型的; 3.2)做用域和生命周期这部分要了解:Static修饰的生命周期是全局的,function,scope只能限制它的做用域; 4)链表,而链表我就很少说了做为一种非线性存储的数据结构,正由于他的不连续性因此被普遍的应用于数据层的持久化上MCC56-14I08 B,通常而言在实际项目中也是使用的很是的普遍,建议多看看. 5)堆与栈CX80501-31B,程序出入栈运行的方式必定要熟练,这对你之后调试程序有很好的帮助.堆,没什么好说的,堆上的空间是动态的,正由于它的这一好处,也可能成为不少程序员的梦魇,记得malloc以后必定要free.注:这里不是简单的成双成对的问题,仍是上面的知识,每种类型的生命周期和做用域必定要清楚,这里就不会有垃圾内存的问题了. 2.算法,即有效的组织数据结构以最理想的方式运行,从而达到最佳的效果. 1).这方面我以为首先做为算法的基础,元素之间的运算必定要很是的熟练,要把算术优先级别作到滚瓜烂熟,固然有些人和你说这没什么用EN29LV040A-70TCP,你看这没用,等用到时你就等着哭吧. 2).元素间的值传递也要有了解,引用仍是直接传值必定要有清晰的思惟,赋值也是一种值传递记住,左值和右值要分清. 3).函数的学习,注意无类型指针void的用法,及它的两种含义和用法 4).控制流:结构化程序仍是面向对象的设计都必不可少的东西,必定要使用熟练,顺序就不说了,判断,循环里的经常使用语句烂熟于胸! 3.对外部设备的调用,这写包含文件的操做,注意下就能够了.没必要太在乎,,其实输入/输出都是这个领域的一些东西,不必去在乎那些什么printf/scanf 之类的没什么用,本身测试代码能够用下,其它的地方就不必的...呵呵 好了今天说到这里,好累了,打字还好,就是想着想着头累...下次再说...Be continue!