第302页 | C Primer Plus 中文版 | 阅读 ‧ 电子书库

同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库

 保持ADT的完整当您定义了一个ADT的接口之后,您只能使用接口函数来处理数据类型。比如,注意DeQueue()依赖EnQueue()来正确设置指针并设置末节点的next指针为NULL。如果在一个使用该ADT的程序中,您直接操作队列的某些部分,将有可能破坏接口包中函数之间的协作关系。

程序清单17.7显示了所有的接口函数,包括EnQueue()中用到的CopyToItem()函数。

程序清单17.7 queue.c实现文件

17.4.4 测试队列

在重要程序中使用一个新的设计(比如队列包)之前,应先对这个新设计进行测试。测试的一种方法是编写一个短小的程序。这样的程序有时被称为驱动程序(driver),其惟一用途是进行测试。例如,程序清单17.8使用一个可以添加和删除整数的队列。在运行程序之前,要确保下面这行代码出现在头文件queue.h中:

还要记住,需要链接queue.c和use_q.c。

程序清单17.8 use_q.c程序

下面是一个运行示例,您还应该测试当队列满了之后实现是否还能做出正确的动作。

请支持我们,让我们可以支付服务器费用。
使用微信支付打赏


上一页 · 目录下一页


下载 · 书页 · 阅读 ‧ 电子书库