从入门到精通 C 语言进阶教程

从入门到精通 C 语言进阶教程 一、指针进阶核心重中之重1. 什么是指针指针就是变量的内存地址用来直接操作电脑内存C 语言灵魂所在。普通变量存数值指针变量存地址2. 基础用法变量名取变量地址*指针名通过地址取值3. 常用指针类型普通指针操作单个变量数组指针指针遍历数组替代下标取值字符串指针高效操作文字二级指针指针里面再存指针地址空指针 NULL不指向任何内存防止乱访问4. 指针作用函数里修改主函数变量快速遍历数组、字符串节省内存、提高运行速度二、数组进阶二维数组表格形式数据多用于表格、矩阵字符数组存放字符串实现文字录入、拼接、判断数组与指针互通数组名本质就是首地址三、函数进阶函数参数进阶值传递只传数值无法修改原数据地址传递指针传参直接修改外面真实数据函数声明先调用后定义必备写法递归函数自己调用自己适用阶乘、斐波那契数列、遍历目录四、内存管理栈内存自动分配自动释放普通变量都在这里堆内存手动开辟手动释放生命周期自由控制malloc开辟空间free释放空间作用实现动态数组空间大小运行时确定五、结构体 struct用来打包多种不同类型数据比如学生信息姓名、年龄、分数打包成一个整体定义结构体结构体赋值、赋值、传参结构体数组批量管理数据六、共用体、枚举枚举 enum固定选项取值代码更规范共用体 union共用一块内存节省空间七、预处理指令#define宏定义批量替换内容、定义常量条件编译不同环境执行不同代码头文件引用原理八、文件操作学会读写电脑本地文件打开文件fopen读取文件fgets/fscanf写入文件fputs/fprintf关闭文件fclose用途保存数据、读取配置、日志记录九、位运算硬核进阶直接操作二进制 0 和 1 | ^ ~ 多用于硬件开发、加密、权限判断、高效运算十、常用进阶项目实战学生信息管理系统结构体 数组 文件简易通讯录字符串处理工具动态内存通讯录小游戏贪吃蛇、猜数字进阶版十一、进阶学习目标熟练玩转指针看懂指针代码掌握结构体封装数据会手动开辟堆内存能读写本地文件存数据看懂递归逻辑写出简单递归程序脱离纯基础能独立写小型实用程序