关于golang:重学-C-语言

6次阅读

共计 1199 个字符,预计需要花费 3 分钟才能阅读完成。

重学 C 语言

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

步骤

我不是为了应酬学校考试,不会花太多工夫在记忆语法上。过一遍语法后开始入手写代码,遇到问题后再去查资料解决。有其余语言语法根底不必在语法上过多纠结,专一于 C 语言和其余语言相比的不同个性上。

  1. 视频教程
    可能有人感觉看视频比看书花工夫更多,而我集体更喜爱看视频教程。

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

B 站各类自学视频资源十分多,能够充分利用起来。

  1. 代码实战
    “ 光说不念假把式 ”。编程是一门偏实际的学科,只有在一直实际的过程中能力真正烂熟于心,一直挖坑踩坑填坑中成长。用 C 语言写个简略的 web 服务器,反对HTTPTcp协定。后续浏览开源我的项目比方 Redis 的源代码,加深了解。
  2. 记录心得体会
    在实际和学习过程中,以文章的模式继续输入。把 C 语言的特点和高级语言做比照,也会举荐比价好的教程。

重点指标

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

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

第二阶段:指针高级

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

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

  • 封装和设计思维
  • 函数指针定义的三种形式
  • 回调函数

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

  • 链表的基本概念
  • 单链表的相干操作

第五阶段:递归函数

  • 递归函数的概念
  • 递归的应用

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

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

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

  • 函数的封装设计
  • 解耦合的设计理念
  • 模块实现与业务拆散的思维

本阶段能够把握的外围能力:

  1. 把握 C 语言当中的字符串、一堆数组、二维数组的用法;
  2. 把握一级指针,二级指针,三级指针的高级用法,了解 N 级指针概念,指针数组和数组指针;
  3. 学会构造体、文件的应用 C 语言接口封装设计

可解决的显示问题:

  1. 能够实现本人开发小程序,例如贪吃蛇一类的用 C 语言写的程序;
  2. 利用 C 语言接口封装设计的办法,进行企业我的项目开发

总结

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

与君共勉。

微信公众号

正文完
 0