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

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

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

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

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

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

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

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

  什么是 “函数库”?

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

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

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

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

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

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

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

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

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

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

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

相关阅读

常用运放电路计算与分析

1、运放的符号表示 2、集成运算放大器的技术指标 (1) 开环差模电压放大倍数(开环增益)大 Ao(Ad)=Vo/(V -V-)=107-1012倍; (2) 共模抑制比高 KCMRR=100db以上; (3) 输入电阻大 ri>1MW, 有的可达100MW以上...
2023-06-08
常用运放电路计算与分析

低压无功功率补偿装置作用是什么

无功功率补偿装置在电子供电系统中所承担的作用是提高电网的功率因数,降低供电变压器 及输送线路的损耗,提高供电效率,改善供电环境。所以无功功率补偿装置在电力供电系统中...
2023-07-17
低压无功功率补偿装置作用是什么

低压断路器的结构及工作原理是什么

   断路器   低压断路器 俗称自动开关或空气开关,用于低压配电电路中不频繁的通断控制。在电路发生短路、过载或欠电压等故障时能自动分断故障电路,是一种控制兼保护电器...
2023-06-27
低压断路器的结构及工作原理是什么

15KW电机一启动就跳总闸,测量一切正常,电流却有一百多安,这是怎么回事呢?

在工业生产中,电机作为驱动核心,其稳定运行直接关系到生产效率和安全。今天,我们就来探讨一个实际案例,关于一台15KW电机启动时遇到的跳闸问题,并深入解析其背后的电流特性与空开...
2024-08-15
15KW电机一启动就跳总闸,测量一切正常,电流却有一百多安,这是怎么回事呢?

MLCC在电脑中的作用

电源稳定性: 在电脑中,MLCC在电源线滤波电路中起到关键作用。电源线滤波器使用MLCC来抑制电源中的高频噪声和波动。这些噪声和波动可能来自其他电子设备或电源本身,它们可能影...
2023-08-09
MLCC在电脑中的作用

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目