18910140161

重学 C 语言

顺晟科技

2021-06-29 13:32:09

255

重学 C 语言

近几年一直在做 Web 开发,从PHPGo,从数据库到缓存。随着技术的深入,越发感到非科班转行写代码的我在理解源码和技术细节的力不从心。万丈高楼平地起,基础知识不牢固很难继续提升。我计划近期重学 C 语言,夯实基础知识。

步骤

我不是为了应付学校考试,不会花太多时间在记忆语法上。过一遍语法后开始动手写代码,遇到问题后再去查资料解决。有其他语言语法基础不用在语法上过多纠结,专注于 C 语言和其他语言相比的不同特性上。

视频教程
可能有人觉得看视频比看书花时间更多,而我个人更喜欢看视频教程。

一方面是因为看视频能产生具体形象,加深记忆。另一方面每天通勤时间很长,在地铁上近 50 分钟,这段时间不能浪费,我随身携带 Kindle 看电子书,但是嘈杂喧闹的地铁上无法集中注意力,尤其看比较枯燥的技术类书籍。当然并不只是看了视频就会了,书籍是后续补充。

B 站各类自学视频资源非常多,可以充分利用起来。

代码实战
"光说不念假把式"。编程是一门偏实践的学科,只有在不断实践的过程中才能真正烂熟于心,不断挖坑踩坑填坑中成长。用 C 语言写个简单的 web 服务器,支持HTTPTcp协议。后续阅读开源项目比如Redis的源代码,加深理解。记录心得体会
在实践和学习过程中,以文章的形式持续输出。把C语言的特点和语言做对比,也会推荐比价好的教程。

重点目标

阶段:内存分区、函数调用模型

数据类型、变量的含义内存四区特点函数调用模型内存操作函数宏定义与预处理

第二阶段:指针

指针基本使用指针的步长的概念指针简介赋值指针以及多级指针做函数参数的特性与使用通过指针操作字符串const 类型修饰符位的逻辑运算符移位运算符数组指针与指针数组多维数组做函数参数结构体嵌套一级指针结构体嵌套二级指针浅拷贝深拷贝

第三阶段:函数指针与回调函数

封装和设计思想函数指针定义的三种方式回调函数

第四阶段:数据结构与链表

链表的基本概念单链表的相关操作

第五阶段:递归函数

递归函数的概念递归的使用

第六阶段:数据结构与算法

大 O 表示法基本概念线性表顺序存储和链式存储概念线性表的顺序存储(数组)线性表的链式存储(链表)队列的顺序与链式存储栈的顺序与链式存储二叉树基本操作常用排序算法

第七阶段:接口的封装和设计

函数的封装设计解耦合的设计理念模块实现与业务分离的思想

本阶段可以掌握的核心能力:

掌握 C 语言当中的字符串、一堆数组、二维数组的用法;掌握一级指针,二级指针,三级指针的用法,理解 N 级指针概念,指针数组和数组指针;学会结构体、文件的使用 C 语言接口封装设计

可解决的显示问题:

可以实现自己开发小程序,例如贪吃蛇一类的用 C 语言写的程序;应用 C 语言接口封装设计的方法,进行企业项目开发

总结

我学 C 语言的目的不是要在工作中用它开发web应用,而是要帮助我更加深刻理解计算机工作原理。以前的技术老大说过一句话,“C语言开发者看其他语言都是语法糖”。

与君共勉。

微信公众号

扫码关注

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航