学C语言到底学些什么— “语法”和“函数库”

时间:2023-03-17作者:佚名

  C语言学习的关键,是要先搞明白,学C语言到底是在学些什么?

  我这么一问,有的同学就要翻开课本,指着目录说,我知道我知道,有变量,数据类型,循环语句,函数,哦哦哦,还有指针等等!

  很遗憾,如果你以为学习C语言就是学习这些东西,那你得赶紧纠正一下看法,否则接下来的学习会困难重重。因为我曾经就是这么掉到坑里的,这种狭隘的观点让我浪费了大量的时间去学习琐碎的细节,又让我迟迟不能接触到更重要的知识,结果是眼高手低——知道许多别人不知道的无用知识,但是又写不出什么真正像样的程序来。

  所谓“语法”,就是入门教材里最着重讲解的内容。也就是那些所谓的变量、数据类型、分支判断、循环、函数、指针等等。

  这些内容比较枯燥,但是好消息是这些内容并不难,都是一些格式化的东西。只要你多练习,就会自动的刻在你的脑子里,成为一种下意识的习惯。

  但是 “语法”本身其实没什么用。因为它只是一种格式规范,你学得再好,也不能引导你写出厉害的程序。因为在软件设计中,实际上最核心的部分还是在于其 “函数库”部分。

  什么是 “函数库”?

  简单来说,函数库就是别人编写好的C函数,直接提供给你用,你只要调用里面的函数,就能实现一定的功能。例如 printf() 函数,你肯定知道,只要调用这个函数,你就能够在那个黑糊糊的窗口里显示一段文字。你并不明白 printf() 的内部工作原理,但是你知道你只要按照说明去调用,就能够实现对应的功能。

  这就是函数库——别人写好的,打包送到你面前,你可以自由调用来做各种各样的事情的函数集合。

  我来说几个来自函数库的函数,例如 CreateWindowEx() 函数可以用来创建一个窗体(这个函数由微软提供),例如 GaussianBlur() 函数可以用来对一个图像进行高斯模糊处理(这个函数由 OpenCV 提供),再比如 evhttp_new() 函数可以创建一个 HTTP 服务程序(这个函数由 libevent 提供)……

  其他还有什么库函数?太多了。从控制网络通信,到截取视频画面并分析其中的人脸位置,到加解密本地文件,甚至包括微信收发消息,抓取淘宝商品信息……库函数的数量和有用程度远远超乎大家的想象。

  诶?你从来没听说过还有这些东西?课本里也没提到?

  那是因为你看的是入门教材,着重讲解语法,顺带提到了少量的 C 语言自带的库函数而已。事实上 C 语言包含的库函数本身就有不少,但是更多更强大的还是许多第三方库函数,例如我上面提到的这些。

  重点是在于,我想告诉你,库函数才是你学习C语言并将其应用于实际的关键!!

  学会调用别人的库函数,甚至写出自己的库函数,都是极其重要的。因为一个函数,本质上就是一个功能单位。你拥有的基础设施越多,你的发挥空间越大。道理就是这么简单。这就是我需要向大家强调的第二个观点,要想写出实用的C程序,一大关键就是研究并学会使用各种库函数。

  你看见隔壁王二写了个三维程序能让一个彩色的立方体在空中旋转?快找 OpenGL 库函数来用。什么?刘大宝写了个网络软件能在局域网里聊天?快找 Socket 库来用。

  看见了吗?库函数有多重要?

  但是,函数库的学习并不是孤立的。许多库函数背后需要一定的领域知识支撑。同样如我第一个观点所述,需要预备知识。学懂一个函数库,代表的不仅仅是明白如何调用那么简单, 而更反映了我们对一个特定领域——网络、数字图像、密码学、操作系统等的认识。

相关阅读

装修电工布线注意事项

1.在您住宅的进线处,一定要加装带有过流保护、漏电保护的三保护开关的配电箱 。因为有了漏电开关,一旦家中发生漏电现象,如电器外壳带电,人身触电等,漏电开关会跳闸,从...
2023-03-21

伺服电机抱闸系统

今天我们介绍伺服电机抱闸系统,在伺服系统控制中,抱闸一般不是经常使用,伺服电机本身制动性能比较好。 对于220V抱闸系统,抱闸控制电路时通过发光三极管对IGBT进行无源控制,...
2023-03-29
伺服电机抱闸系统

时间继电器图文讲解

一、常见时间继电器实物图 CKC AH3-2 通电延时型电子式时间继电器(最常用) 8 脚底座接线图(7-8 接线圈,1-3/8-6 为常开,1-4/8-5 为常闭) 时间调节旋钮(0-60 秒可调,顺时针延长时间...
2026-06-03
时间继电器图文讲解

2018年低压电工国家全套题库完整版和答案(选择题),自测得几分

单选题(218题) 1、交流接触器的额定工作电压,是指在规定条件下,能保证电器正常工作的( )电压。 A、 最低 B、 最高 C、 平均 【答案】B 2、正确选用电器应遵循的两个基本原则是安全...
2023-06-11
2018年低压电工国家全套题库完整版和答案(选择题),自测得几分

如何用万用表检测线路故障、电动机转速和极数以及电缆断点?

用万用表测量线路故障是我们常用的方法之一,下面我来谈谈如何用万用表去检查线路的故障。我们用万用表检查线路故障时,主要是使用万用表三个方面的量程去测量,第一是用电阻档测...
2024-08-12
如何用万用表检测线路故障、电动机转速和极数以及电缆断点?

热销商品

连发瓦斯枪通用瓦斯射钉钢钉枪瓦斯气体高强度瓦斯射钉枪165气罐

连发瓦斯枪是一款专为高强度瓦斯射钉设计的工具,其特点在于能够连续发射瓦斯气体,适用于多种需要快速穿透和固定材料的场景。这款瓦斯枪配备了165气罐,容量足够满足...
4.5

黄铜镀镍金属电缆防水接头EWM密封格兰头HSM电线固定填料函M20M16

黄铜镀镍金属电缆防水接头EWM密封格兰头(HSM型)是一款高性能电线固定与密封装置,适用于M16和M20螺纹规格。采用优质黄铜材质并表面镀镍处理,具备优异的防腐蚀性、机械...
1.14

消防配件二氧化碳灭火器2 3 5 7KG弯头喷管24Kg干冰CO2外喷头喷嘴

二氧化碳灭火器配件中的2357KG弯头喷管与24Kg干冰CO₂外喷头喷嘴,是专业消防设备的重要组成部分。该弯头喷管采用高强度耐腐蚀材料制造,连接灵活,适用于高压CO₂灭火...
4.5

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目