这门课解决什么问题

很多人学了几年C语言,写代码时依然对指针、内存布局、结构体这些底层概念一知半解。遇到内存泄漏、指针越界、结构体对齐等问题,要么靠经验蒙混,要么只能绕路。这门课从进制运算、指针、数组、字符串函数、结构体、共用体、枚举、内存管理、文件操作一路讲下来,目标是让你真正理解C语言底层的运行方式,而不是只会写语法。

适合什么基础

适合有一定编程基础、想深入理解底层原理的人。如果你连函数调用、变量作用域都不清楚,建议先补基础语法再回来;如果你已经能写简单程序,但遇到指针和内存问题时总卡住,这门课正好对症下药。资料从基本语法循序渐进,不要求扎实的数学基础,但需要你愿意动手写代码。

建议先看哪几块

优先看指针类型与引用类型、结构体和共用体、内存申请与释放这三块。指针是C语言核心,理解它才能看懂逆向分析中的内存布局;结构体和共用体是数据组织的基础,文件操作和字符串函数都依赖它们;内存管理是实际工作中最容易出问题的环节,看懂后写程序更有底气。后面的函数调用约定、数组与指针关系、多字节字符串函数等可按顺序跟进。

学完能独立做什么

学完可以独立处理C语言底层开发中的常见场景:手动管理内存避免泄漏、用指针操作数据结构、处理文件读写、理解二进制数据的内存布局。如果你从事逆向工程方向,这些是直接可用的基础;日常开发中偶尔遇到底层问题,也能快速定位解决。

资料怎么配合练习

资料以视频讲解为主,每个模块对应概念和实操内容。建议看完一个模块就动手写一个小程序验证,比如看完指针就写简单的指针运算,看完结构体就构造并访问一个结构体。资料包里的文件操作、字符串函数等模块,建议配合实际文件和字符串做练习,加深理解。不用追求速度,每个模块消化完再进入下一个。

课程目录

课程目录225 集
  • 001.第一个C项目解析.mp4 388.24M
  • 002.进制得本质和计算方式.mp4 235.96M
  • 003.C语言基本数据类型.mp4 236.89M
  • 004.有无符号和变量常量.mp4 220.07M
  • 005.存储类型和类型转换.mp4 165.58M
  • 006.运算符和作用域.mp4 161.84M
  • 007.if判断语句.mp4 88.89M
  • 008.循环 跳转 分支语句.mp4 137.12M
  • 009.函数基本写法.mp4 74.42M
  • 010.局部 全局 静态局部 静态全局变量.mp4 78.43M
  • 011.指针类型和引用类型.mp4 108.91M
  • 012.函数的参数几种形式.mp4 95.68M
  • 013.递归函数和函数指针.mp4 84.15M
  • 014._cdecl _stdcall _fastcall调用约定.mp4 161.47M
  • 015.一维数组.mp4 128.72M
  • 016.二维数组多维数组.mp4 164.45M
  • 017.一维数组跟指针关系.mp4 111.42M
  • 018.二维数组和数组指针 行指针 的关系.mp4 63.98M
  • 019.二维数组和指针数组的关系.mp4 53.25M
  • 020.多字节版本字符串函数调用.mp4 198.48M
  • 021.宽字节版本字符串函数调用.mp4 125.72M
  • 022.结构体得概念和使用.mp4 214.19M
  • 023.共用体的概念和使用.mp4 224.78M
  • 024.枚举概念和使用.mp4 139.99M
  • 025.typedef和内存对齐原则.mp4 175.43M
  • 026.宏的用法和头文件的用法.mp4 157.18M
  • 027.申请内存释放内存.mp4 214.01M
  • 028.打开文件关闭文件.mp4 155.10M
  • 029.游标操作文件结束.mp4 152.58M
  • 030.C语言读文件.mp4 356.55M
  • 031.C语言写文件.mp4 159.96M
  • 032.C项目需求分析和架构设计.mp4 19.25M
  • 033.C项目界面的设计和实现.mp4 103.12M
  • 034.C项目界面和逻辑的交互.mp4 204.79M
  • 035.C项目数据和逻辑处理.mp4 196.64M
  • 036.C项目文件保存和总结.mp4 118.99M
  • 037.结构体在内存中的排列方式.mp4 154.51M
  • 038.结构体数组在内存中的排列方式.mp4 113.66M
  • 039.汇编下数组和步长的本质关系.mp4 163.45M
  • 040.结构体数组的好处和实现.mp4 144.27M
  • 041.从逆向的角度遍历数组.mp4 101.56M
  • 042.链表的概念和需求.mp4 90.74M
  • 043.链表的初始化和添加.mp4 236.18M
  • 044.链表的遍历和删除.mp4 136.98M
  • 045.汇编指令lea和mov的区别.mp4 95.43M
  • 046.链表在内存中的表现形式.mp4 273.06M
  • 047.汇编下遍历链表.mp4 150.65M
  • 048.从逆向角度用指针遍历链表.mp4 89.12M
  • 049.队列和栈的概念和结构.mp4 69.81M
  • 050.选择排序算法的概念和代码实现.mp4 197.70M
  • 051.冒泡排序算法的概念和代码实现.mp4 147.44M
  • 052.插入排序算法的概念和代码实现.mp4 205.52M
  • 053.二叉树的基本概念和结构.mp4 43.87M
  • 054.二叉查找树的创建和遍历.mp4 468.57M
  • 055.二叉查找树在内存中的表现形式.mp4 76.83M
  • 056.从汇编的角度分析游戏二叉树.mp4 243.33M
  • 057.如何通过指针去遍历游戏二叉树.mp4 253.59M
  • 058.类的概念基本定义.mp4 182.84M
  • 059.this指针和构造函数及其初始化列表.mp4 229.29M
  • 060.类的限制符.mp4 67.31M
  • 061.对象的定义和使用.mp4 81.75M
  • 062.析构函数.mp4 126.63M
  • 063.拷贝构造函数.mp4 95.42M
  • 064.浅拷贝和深拷贝的区别mp4.mp4 131.52M
  • 065.重载运算符函数.mp4 206.19M
  • 066.类型转换函数.mp4 51.97M
  • 067.对象的内存和汇编下的this传递.mp4 132.77M
  • 067.静态成员变量和静态成员函数-1.mp4 138.61M
  • 068.类的静态成员变量和静态成员函数.mp4 236.24M
  • 069.继承的概念和使用.mp4 156.49M
  • 070.public限制符对继承的影响.mp4 59.86M
  • 071.protected限制符对继承的影响.mp4 36.30M
  • 072.private限制符对继承的影响.mp4 70.80M
  • 073.子类是如何调用父类的构造函数.mp4 85.11M
  • 074.继承下构造函数和析构函数的调用顺序.mp4 50.51M
  • 075.多继承下的构造析构函数的调用顺序.mp4 71.28M
  • 076.多态的概念以及静态多态的使用.mp4 74.42M
  • 077.虚函数的概念和使用.mp4 113.33M
  • 078.虚函数表的概念和作用.mp4 133.38M
  • 079.虚函数表的遍历和查看.mp4 140.50M
  • 080.虚函数在汇编下的表现.mp4 105.62M
  • 081.重载函数.mp4 54.18M
  • 082.C++命名空间及其标准库介绍.mp4 68.47M
  • 083.字符串类的常见用法.mp4 177.69M
  • 084.字符串之字串的操作.mp4 242.65M
  • 085.动态数组之vector容器.mp4 151.29M
  • 086.迭代器下的vector容器.mp4 181.12M
  • 087.容器之list.mp4 121.66M
  • 088.容器之队列queue.mp4 70.66M
  • 089.容器之栈stack.mp4 58.28M
  • 090.容器之map.mp4 184.49M
  • 091.C++异常.mp4 120.88M
  • 092.C++文件流操作打开和关闭文件.mp4 119.02M
  • 093.C++文件流写文本文件.mp4 50.06M
  • 094.C++文件流读文本文件.mp4 75.94M
  • 095.C++文件流写二进制文件.mp4 68.35M
  • 096.C++文件流读二进制文件.mp4 63.00M
  • 097.C++申请内存new和释放内存delete.mp4 83.93M
  • 098.继承下的虚析构.mp4 95.45M
  • 099.C++11下的单例模式.mp4 59.85M
  • 100.switch状态机.mp4 55.30M
  • 101.C++状态机模式.mp4 101.01M
  • 102.Win32窗口程序的入口函数.mp4 60.29M
  • 103.MessageBox消息框.mp4 100.45M
  • 104.Win32窗口的创建和显示.mp4 274.83M
  • 105.消息循环和窗口过程.mp4 337.60M
  • 106.常见的windows消息.mp4 231.85M
  • 107.按钮的创建和消息响应.mp4 284.62M
  • 108.按钮文本的设置和获取.mp4 110.33M
  • 109.获取控件的ID和句柄.mp4 88.96M
  • 110.控件的可见和启用.mp4 77.05M
  • 111.对话框资源的创建.mp4 51.34M
  • 112.单独显示非模态对话框.mp4 185.17M
  • 113.父窗口中创建非模态对话框.mp4 71.37M
  • 114.单独创建模态对话框.mp4 92.72M
  • 115.父窗口中创建模态对话框.mp4 219.03M
  • 116.自定义消息和两种发消息方式.mp4 172.79M
  • 117.窗口坐标.mp4 203.62M
  • 118.Win32定时器.mp4 225.85M
  • 119.MFC项目的创建和架构介绍.mp4 217.51M
  • 120.简单的介绍下MFC封装的一些数据类.mp4 256.92M
  • 121.MFC添加消息映射函数.mp4 134.04M
  • 122.MFC添加自定义消息映射函数.mp4 168.18M
  • 123.MFC创建和初始化的回调函数.mp4 169.32M
  • 124.MFC模态对话框和结束流程.mp4 81.17M
  • 125.MFC非模态窗口和结束流程-1.mp4 136.11M
  • 125.MFC非模态窗口和结束流程-2.mp4 149.74M
  • 126.MFC按钮和静态文本的添加和使用.mp4 243.34M
  • 127.MFC编辑框和选择框的添加和使用.mp4 206.46M
  • 128.MFC组合下拉框的添加和使用.mp4 111.84M
  • 129.MFC列表框List的添加和使用.mp4 82.60M
  • 130.MFC列表框List Control的添加和使用.mp4 257.75M
  • 131.MFC标签Tab Control的添加和使用.mp4 292.37M
  • 132.MFC菜单的添加和使用.mp4 171.05M
  • 133.MFC文件类CFile的操作.mp4 174.43M
  • 134.MFC文件类CStdioFile的使用.mp4 101.55M
  • 135.MFC文件对话框CFileDialog的使用.mp4 133.58M
  • 136.MFC文件查找类CFileFind的使用.mp4 99.87M
  • 137.MFC应用程序类的配置文件.mp4 189.86M
  • 138.MFC热键的添加和使用.mp4 122.46M
  • 139.win32文件夹对话框.mp4 127.73M
  • 140.进程和线程的概念.mp4 89.80M
  • 141.如何创建一个线程.mp4 424.38M
  • 142.如何终止一个线程.mp4 268.68M
  • 143.调试模式下的暂停和恢复线程.mp4 158.91M
  • 144.安全的暂停和恢复线程.mp4 141.05M
  • 145.如何遍历当前进程的所有线程.mp4 163.58M
  • 146.如何创建一个进程.mp4 380.23M
  • 147.如何以管理员的方式创建进程.mp4 210.92M
  • 148.如何监控一个进程的关闭.mp4 159.69M
  • 149.设置和获取进程的命令行参数.mp4 83.50M
  • 150.如何打开一个进程去操作.mp4 123.02M
  • 151.进程的3种终止方式.mp4 166.78M
  • 152.如何遍历所有进程.mp4 198.65M
  • 153.模块的概念和获取模块信息.mp4 223.00M
  • 154.获取某进程的所有模块信息.mp4 286.60M
  • 155.窗口的基本操作和实战小工具.mp4 290.00M
  • 156.枚举当前所有顶级窗口和实战小工具.mp4 232.80M
  • 157.线程中锁的需求和锁的概念.mp4 99.22M
  • 158.临界区的本质和使用.mp4 105.04M
  • 159.巧妙运用类封装临界区2种方法.mp4 168.07M
  • 160.灵活运用C++互斥量.mp4 89.45M
  • 161.事件的概念和使用小案例.mp4 222.10M
  • 162.利用事件实现暂停和恢复以及结束线程.mp4 115.33M
  • 163.利用事件实现多进程的控制.mp4 74.36M
  • 164.利用事件实现进程单开.mp4 47.90M
  • 165.互斥体的概念和API介绍.mp4 70.05M
  • 166.利用互斥体实现进程同步和单开.mp4 90.38M
  • 167.静态链接库和动态链接库的概念和区别.mp4 58.57M
  • 168.静态链接库的编译和使用.mp4 56.84M
  • 169.动态链接库的编译和使用.mp4 349.01M
  • 170.MFC窗口DLL的创建和注意事项.mp4 286.99M
  • 171.添加本地资源和释放资源到本地.mp4 341.81M
  • 172.解压ZIP文件到指定目录.mp4 255.76M
  • 173.递归拷贝和覆盖文件.mp4 280.43M
  • 174.递归删除文件.mp4 75.17M
  • 175.配置文件ini的读写操作.mp4 119.19M
  • 176.获取配置文件中所有的Section.mp4 129.41M
  • 177.剪切板的使用和注意事项.mp4 63.95M
  • 178.TCP协议 IP 端口的概念.mp4 105.72M
  • 179.简易CS架构流程图的介绍.mp4 77.60M
  • 180.TCP服务器的代码实现.mp4 428.32M
  • 181.TCP客户端的代码实现.mp4 249.78M
  • 182.沾包和拆包的概念.mp4 46.23M
  • 183.HP网络库的介绍和环境配置.mp4 245.97M
  • 184.HP网络库之服务器代码的编写.mp4 371.00M
  • 185.HP网络库之服务器拆包逻辑的实现.mp4 175.30M
  • 186.HP网络库之客户端类的编写.mp4 208.61M
  • 187.HP网络库之服务器类的使用.mp4 111.92M
  • 188.HP网络库之客户端类的使用.mp4 225.37M
  • 189.聊天软件之服务器的编写.mp4 282.78M
  • 190.聊天软件之客户端的编写.mp4 139.27M
  • 191.进程通讯之共享内存.mp4 263.79M
  • 192.DuiLib界面库的介绍和环境搭建.mp4 153.57M
  • 193.DuiLib界面库之一个简单的窗口.mp4 286.78M
  • 194.DuiLib界面库之按钮的消息响应.mp4 116.23M
  • 195.Duilib界面库之屏蔽标题栏和XML配置.mp4 441.37M
  • 196.Duilib界面库之基础类的使用.mp4 123.23M
  • 197.Duilib界面库之水平垂直布局和绝对相对定位.mp4 422.02M
  • 198.Duilib界面库之自绘标题栏的实现.mp4 203.75M
  • 199.Duilib界面库之登录器界面的设计.mp4 122.82M
  • 200.Duilib界面库之截获Win32消息以及分析源码.mp4 251.26M
  • 201.Duilib界面库之消息映射.mp4 188.57M
  • 202.DuiLib界面库之按钮的使用.mp4 379.90M
  • 203.DuiLib界面库之静态文本和标签的使用.mp4 219.12M
  • 204.Duilib界面库之编辑框的使用.mp4 319.23M
  • 205.Duilib界面库之选择框的使用和源码分析.mp4 285.13M
  • 206.Duilib界面库之下拉框的使用.mp4 303.13M
  • 207.DuiLib界面库之列表框的使用.mp4 505.21M
  • 208.Duilib界面库之动画标签页的使用.mp4 250.99M
  • 209.DuiLib界面库之菜单的使用.mp4 358.13M
  • 210.DuiLib界面库之消息框类的使用.mp4 148.46M
  • 211.Duilib界面库之自定义默认样式和字体库.mp4 110.75M
  • 212.Duilib界面库之使用ZIP压缩资源和文件资源.mp4 227.41M
  • 213.D3D9之环境搭建和Win32窗口初始化.mp4 164.17M
  • 214.D3D9之D3D9设备的初始化.mp4 263.87M
  • 215.D3D9之封装D3D9窗口框架.mp4 131.15M
  • 216.D3D9之顶点格式.mp4 111.86M
  • 217.D3D9之三角形单元和顶点索引.mp4 97.06M
  • 218.D3D9流水线之局部坐标系和世界坐标系.mp4 114.87M
  • 219.D3D9流水线之观察坐标系取景矩阵.mp4 77.00M
  • 220.D3D9流水线之背面消隐和光照.mp4 74.02M
  • 221.D3D9流水线之裁剪 正交投影和透视投影.mp4 103.63M
  • 222.D3D9流水线之视口变换和光栅化.mp4 71.32M
  • 223.D3D9之创建顶点缓存.mp4 147.92M
  • 迪大学院逆向课程/