第 2 章:流程、数组与字符串¶
📋 本章概览¶
| 项目 | 内容 |
|---|---|
| 学习时长 | 40 分钟 |
| 核心概念 | 条件、循环、数组、字符串、边界 |
| 核心比喻 | 数组像编号连续的储物柜,字符串是以结束标记收尾的标签 |
| 实践任务 | 遍历数组并统计字符串内容 |
| 难度等级 | ★★☆☆☆ |
2.1 流程控制¶
C 的 if、for、while 和其他语言中的控制结构相似,但边界和内存访问需要更谨慎。
2.2 数组¶
数组下标从 0 开始。访问 scores[3] 已经越过数组末尾,编译器不一定能替你发现。
2.3 字符串¶
C 字符串以 \0 结尾。数组长度必须为字符串内容预留结尾字符的空间。
✏️ 课后练习¶
实现一个函数,接收整数数组和长度,返回最大值。再实现一个函数,统计字符串中元音字母的数量。
✅ 验证步骤¶
用包含 3 个元素的数组运行程序,确认下标从 0 开始;再检查访问末尾之外的位置,说明为什么这是未定义行为。
📝 本章总结¶
- C 的数组下标从 0 开始。
- 循环边界必须与数组长度保持一致。
- C 字符串以结束字符收尾,缓冲区要预留结束字符。
🔮 下一章预告¶
下一章会把“数据在哪里”这个问题具体化,学习指针、地址和动态内存。