实验五:用callback增强链表模块来实现命令行菜单小程序V2.8

网易云ID:Nerd2dian0

GitHub源码: https://github.com/Nerd2dian0/Youcan/tree/master/lab5(下面的是修改的主要代码,想看全部代码请看gayhub,谢谢!报告质量不在贴图多少)

实验要求:


具体过程:

任务一,寻找bug:

从云盘下载好源代码,上传给GitHub,演示后quit命令出现问题:


分析原因,源码在linktable.c中SearchLinkTableNode中存在语句while(pNode != pLinkTable->pTail),而quit是尾节点,从而出错。


修改后的代码为:


演示结果:

任务二、三,利用callback使接口更通用以及接口信息的隐藏:

 menu.c 和 LinkTable.c体现callback如下:

menu.c:

linktable.c


具体过程是:在主函数中调用了FindCmd函数从而调用linktable.c中的searchlinktable,searchlinktable  回调(callback)menu.c中的searchcondition函数,进行匹配,如果命令匹配返回命令对应值。

接口信息的隐藏:将linktable.h的结构体转移给linktable.c中实现了信息的隐藏。

遇到的问题,将信息隐藏时,需要在linktable.h中对结构体定义。

实验总结:初步认识了callback的调用和信息隐藏,使得接口更安全更方便使用。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值