【代码阅读的方法与实践】第3章 高级C数据类型

来源:互联网 发布:淘宝图片大小多少合适 编辑:程序博客网 时间:2024/06/06 02:02

3章 高级C数据类型

了解特定语言构造所有服务的功能之后,应能够更好地理解使用它们的代码。

识别并归类使用指针的理由。在C程序中,指针一般用来

构造链式数据结构

引用动态分配的数据结构

实现引用调用

访问和迭代数据元素

传递数组参数

引用函数

作为其他值的别名

代表字符串

直接访问系统内存

以引用传递的参数可以用来返回函数的结果,或者避免参数复制带来的开销。

指向数组元素地址的指针,可以访问位于特定索引位置的元素。

指向数组元素的指针和相应的数组索引,作用在二者上的元素具有相同的语义。

使用全局或static局部变量的函数大多数情况都不可重入(reentrant)。

字符指针不同于字符数组。

识别和归类应用结构或共用体的每种理由。

C语言中的结构

多个数据元素集合在一起,使得它们可以作为一个整体来使用。

用来从函数中返回多个数据元素。

构造链式数据结构

映射数据在硬件设备、网络链接和存储介质上的组织方式

实现抽象数据类型

以面向对象的方式编程。

共用体在C语言中主要用于

优化存储空间的利用

实现多态

访问数据不同的内部表达方式。

一个指针,在初始化为指向N个元素的存储空间之后,就可以作为N个元素的数组来使用。

动态分配的内存块可以显式地释放,或在程序结束时释放,或由垃圾回收器来完成回收;在栈上分配的内存块当分配它的函数退出后释放。

C程序使用typedef声明促进抽象,并增强代码的易读性,从而防范可移植性问题。并模拟C++Java的类声明行为。

可以将typedef声明理解成变量定义:变量的名称就是类型的名称;变量的类型就是与该名称对应的类型。