3.6 要点巩固
Linux系统下的嵌入式编程主要就是C语言的编程,因此在学习完C语言的理论之后,要多实践。本章内容总体上把C语言的基本知识梳理了一下,让初学者对C语言的知识框架有基本的认识,在进行Linux系统移植和应用程序开发时不至于手忙脚乱。本章主要讲述C语言的基础知识到进阶再到高阶编程知识点,我们这里再回顾一下。
本章第一小节讲述了基本数据类型、表达式和三种基本结构,重点是三种基本结构,其中选择结构要区分多重选择结构和嵌套选择结构,多重if结构就是在主if块的else语句里嵌套了if语句,而嵌套if结构是主if块中包含if语句。嵌套if结构中每个else部分总是属于前面最近的那个缺少对应else部分的if语句。switch结构多用于多分支选择结构。用于分支条件必须是整型表达式,而且判断该整型表达式的值要匹配对应的case语句,最后执行相应的某种操作。条件运算符属于if-else语句的另一种表现形式。for循环中的各个表达式都可以省略,但是要注意分号分隔符绝对不能省。break语句和continue语句通常用在循环结构中,两者的相同点是可以改变程序执行的过程;不同点是break语句是直接结束当前循环体,continue语句则是跳过本次循环,执行下一次循环。
在进阶编程知识部分,首先讲述了数组。数组是在内存中连续存储多个相同类型元素的结构。数组必须要先声明,后使用。声明一个数组只是为了该数组留出内存空间,并不会为其赋任何值。数组元素都是通过数组下标访问。其次是指针,指针是一个变量,它有类型,用来存放相同类型的变量地址。指针的算术运算实际上是指针的移动,将指针执行加上或者减去一个整数值n的运算相当于指针向前或者向后移动n个数据单元。指针可以用来比较相等的运算,用来判断两个指针是否指向同一个地址。函数的一般结构为返回值类型、函数名、入口参数列表、函数体,函数是实现C语言模块化编程的基本单元。最后在进阶编程中介绍了常用构造类型,要注意结构体和共用体数据类型的区别。
C语言的高阶编程内容部分,除了讲解文件常用操作方法外,还讨论了排序、队列、链表基本数据结构,文件操作区分文本文件和二进制文件,如果文件写入时使用字符模式,那么读取最好也要用字符模式,对于二进制文件也是同样的操作规范。队列的结构分为顺序队列和循环队列,在内存中存放的方式分为顺序表和链队列。对于链表这一数据结构,我们需要掌握链表的增删改查的基本操作,理解链表在物理内存中分散存储的特点,掌握链表的基本概念。最后是排序算法,一个算法的好坏,需要综合评估其时间开销、空间开销以及稳定性,在排序算法中,主要讲述了冒泡排序、插入排序和快速排序的算法实现。