《代码阅读方法和实践》
高级C数据类型
1.了解特定语言构造所有服务的功能之后,应能够更好地理解使用它们的代码。
2.识别并归类使用指针的理由。
3.在C程序中,指针一般用来构造链式数据结构、动态分配的数据结构、实现引用调用、访问和迭代数据元素、传递数组参数、引用函数、作为其他值的别名、代表字符串、以及直接访问系统内存。4.以引用传递的参数可以用来返回函数的结果,或者避免参数复制带来的开销。
5.指向数组元素地址的指针,可以访问位于特定索引位置的元素。
6.指向数组元素的指针和相应的数组索引,作用在二者上的元素具有相同的语义。
7.使用全局或static局部变量的函数大多数情况都不可重入(reentrant)。
8.字符指针不同于字符数组。9.识别和归类应用结构或共用体的每种理由。
10.C语言中的结构将多个数据元素集合在一起,使得它们可以作为一个整体来使用。用来从函数中返回多个数据元素,构造链式数据结构、映射数据在硬件设备、网络链接和存储介质上的组织方式、实现抽象数据类型,以及以面向对象的方式编程。
11.共用体在C语言中主要用于优化存储空间的利用,实现多态、以及访问数据不同的内部表达方式。
12.一个指针,在初始化为指向N个元素的存储空间之后,就可以作为N个元素的数组来使用。
13.动态分配的内存块可以显式地释放,或在程序结束时释放,或由垃圾回收器来完成回收;在栈上分配的内存块当分配它的函数退出后释放。
14.C程序使用typedef声明促进抽象,并增强代码的易读性,从而防范可移植性问题。并模拟C++和Java的类声明行为。
15.可以将typedef声明理解成变量定义:变量的名称就是类型的名称;变量的类型就是与该名称对应的类型。