对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂亮的界面和生动的交互。于是学数据结构,学算法,学操作系统,越陷越深,越来越难,最后迷茫了,不知道学C语言能做什么,认为学习编程很难,开始怀疑自己,甚至想放弃。
其实,这是很多初学者都会踩到的一个坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统、第三方库、单片机来完成。也就是说,只学C语言基本什么也做不了,也基本找不到工作。
C语言是一门通用性的语言,并没有针对某个领域进行优化,在实际项目中,C语言主要用于较底层的开发,例如:
Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发;
开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件;
单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方;
开发系统组件或服务,用于支撑上层应用;
编写PHP扩展,增强PHP的功能;
如果对软件某个模块(例如算法和搜索部分)的效率要求较高,也可以使用C语言来开发。
既然C语言的应用这么多,为什么很多读者觉得它什么也做不了呢?
我们先说一个概念&