大纲

推荐看看这篇文章全网唯一小白C语言入门《完整知识体系总结》
可以看看路线图C语言零基础小白,学习路线图

基础内容

符号
常量和变量
作用域
隐性转换和强制类型转换
函数指针和回调函数
位域
三剑客break/continue/goto
头文件和源文件
注释
输入输出
程序调试
维基百科:嵌入式C语言,新增了定点运算,地址空间命名,I/O硬件寻址,中断服务例程(ISR)等嵌入式系统常用功能。特定编译器扩展:例如,Keil编译器和IAR Embedded Workbench都有自己的扩展和关键字,用于支持特定微控制器的特性。这些扩展不属于C语言的标准,在进行跨平台开发要移除或替换掉。

C99高级特性和GNU C扩展

预处理器:如宏定义
错误处理
可变长参数
递归
断言和预定义跟踪调试
C中调用C++
GNU扩展:《可变数组/柔性数组》

实际应用

编程规范
算法设计
常用数据结构和排序算法
进程和多线程
通信(如TCP/IP)
C语言和Json
文件读写
内存管理(堆栈)
反编译和汇编
二进制固件分析软件:Beyond Compare 4

其他语言

计算机软件经历了数十年的发展,形成了多种学术流派,有面向过程编程、面向对象编程、函数式编程、面向消息编程等,这些思想究竟孰优孰劣,众说纷纭。

除了OOP外,近年出现了一些小众的编程哲学,Go语言对这些思想亦有所吸收。例如,Go语言接受了函数式编程的一些想法,支持匿名函数与闭包。再如,Go语言接受了以Erlang语言为代表的面向消息编程思想,支持goroutine和通道,并推荐使用消息而不是共享内存来进行并发编程。总体来说,Go语言是一个非常现代化的语言,精小但非常强大。

Verilog HDL硬件描述语言

C++框架和库
C++语言经典《24种设计模式与7大原则》