查漏补缺:别把C语言基础当成单纯的语法背诵

很多转岗做iOS开发的人,拿到Objective-C或者Swift项目就头疼,底层一报野指针或者内存泄漏就完全懵掉。根本原因往往不是面向对象没学好,而是C语言底子太虚。这门课解决的就是这个前置痛点:带你把Mac终端环境搭明白,把进制转换、变量类型、运算符这些最底层的东西敲扎实。它适合完全没有C语言基础、或者以前只写过脚本语言现在要补底层课的人。如果你连十进制转二进制都要拿计算器,或者搞不清整型和浮点型在内存里到底占几个字节,那就别假装自己懂底层,老老实实从第一天的终端指令开始看。

建议先啃透这几块核心内容

资料里的内容排得很紧凑,建议你不要跳着看。先看第一天的Mac终端指令,别觉得这是废话,很多习惯了图形界面的新手到了命令行连目录都切不明白,后续编译全卡壳。接着重点死磕第二天的进制转换和变量类型,这是整门课最容易留下隐患的地方。进制转换不要只看视频里的推导,自己拿纸笔算几组二进制和十六进制的互转,必须形成条件反射。变量类型那节要重点搞清楚不同类型占用的内存空间,以及有符号和无符号的区别,这直接决定了你以后在iOS里处理数据溢出时的排查能力。第三天的运算符和表达式,重点放在变量练习上,自己写几段代码,把自增自减运算符在前后置不同情况下的执行顺序跑一遍,别只看视频里的结果。

看完能干什么以及资料怎么配合练

学完这几天的内容,你应该能独立在Mac终端里完成代码的编写和编译,能准确声明并使用各种基本类型的变量,能看懂并手写基础的算术与逻辑表达式。更重要的是,遇到编译器报的类型不匹配警告,你能立刻反应过来是哪里的变量类型用错了,而不是瞎改一通。资料配合练习的方法很简单:视频里讲到的每一个代码示例,必须自己在终端里逐字敲一遍。不要复制粘贴,也不要觉得看懂了就跳过。尤其是运算符扩展那部分的变量练习,自己改改初始值和运算符,多跑几次,看看输出结果和你脑子里推演的逻辑一不一样。查漏补缺就是缺什么补什么,别贪多,把这几块基础砸实了,后面再看iOS的内存管理才会顺理成章。

课程目录

1-1 [C语言基础课程] day1_mac终端指令 (02:14:26)
2-1 [第二天进制转换和变量] day2_1进制转换1 (01:19:33)
2-2 [第二天进制转换和变量] day2_2进制转换2 (23:13)
2-3 [第二天进制转换和变量] day2_3进制转换3 (43:00)
2-4 [第二天进制转换和变量] day2_4main函数标准和规范 (55:33)
2-5 [第二天进制转换和变量] day2_5变量 (46:11)
2-6 [第二天进制转换和变量] day2_6变量类型 (02:37:33)
3-1 [运算符和表达式] day3_1扩展1 (01:04:38)
3-2 [运算符和表达式] day3_2扩展2-变量练习 (01:12:23)
3-3 [运算符和表达式] day3_3表达式1 (01:16:02)
3-4 [运算符和表达式] day3_4表达式2和if (01:09:11)
3-5 [运算符和表达式] day3_5表达式3 (01:03:22)
4-1 [Switch和循环结构] day4_1表达式&if回顾 (01:07:47)
4-2 [Switch和循环结构] day4_2Switch&循环初步 (01:15:15)
4-3 [Switch和循环结构] day4_3for循环 (59:01)
4-4 [Switch和循环结构] day4_4for循环2 (01:10:57)
4-5 [Switch和循环结构] day4_5while循环3 (28:55)
5-1 [习题课和数组] day5_1循环练习1 (01:10:48)
5-2 [习题课和数组] day5_2循环嵌套 (01:00:32)
5-3 [习题课和数组] day5_3数组1 (02:00:44)
5-4 [习题课和数组] day5_4流程控制习题1 (01:00:29)
5-5 [习题课和数组] day5_5流程控制习题2 (42:14)
5-6 [习题课和数组] day5_6流程控制习题3 (01:24:31)
5-7 [习题课和数组] day5_7流程控制习题4 (35:57)
5-8 [习题课和数组] day5_8二维数组 (41:33)
6-1 [函数] day6_1数组练习 (01:07:28)
6-2 [函数] day6_2扫雷 (01:12:10)
6-3 [函数] day6_3排序&Xcode使用 (01:18:35)
6-4 [函数] day6_4函数 (02:19:53)
6-5 [函数] day6_5函数练习1 (23:49)
6-6 [函数] day6_6函数开发中的使用 (01:03:06)
6-7 [函数] day6_7函数栈-局部变量-全局变量 (01:29:19)
6-8 [函数] day6_8静态变量-递归函数 (01:19:06)
7-1 [指针基础] day7_1指针基础1 (01:09:23)
7-2 [指针基础] day7_2指针基础-指针的运算 (32:12)
7-3 [指针基础] day7_3指针和数组-函数 (01:51:30)
8-1 [字符串] day8_1指针作业 (01:02:53)
8-2 [字符串] day8_2字符串 (01:18:59)
8-3 [字符串] day8_3字符串1 (01:18:40)
8-4 [字符串] day8_4字符串函数 (01:48:25)
8-5 [字符串] day8_5strtok-字符串练习 (01:06:24)
9-1 [动态内存分配-预处理-结构体-枚举-联合-位运算] day9_1字符串练习2 (01:24:15)
9-2 [动态内存分配-预处理-结构体-枚举-联合-位运算] day9_2堆malloc (01:17:21)
9-3 [动态内存分配-预处理-结构体-枚举-联合-位运算] day9_3malloc面试题-预处理 (01:30:38)
9-4 [动态内存分配-预处理-结构体-枚举-联合-位运算] day9_4条件编译-位运算 (01:11:55)
9-5 [动态内存分配-预处理-结构体-枚举-联合-位运算] day9_5结构体-枚举-联合 (02:30:47)