C语言编程:从函数指针到结构体的深入探索
1. 编写 tail 程序
1.1 需求概述
tail 程序的主要功能是打印输入的最后 n 行内容。默认情况下, n 的值为10,但可以通过可选参数进行修改。例如,使用 tail -n 命令可以指定打印最后 n 行。该程序需要合理处理各种输入情况,包括不合理的输入和 n 值。同时,为了充分利用可用存储,应采用类似第5.6节排序程序的方式存储行数据,而非使用固定大小的二维数组。
1.2 实现思路
虽然文档中未给出具体代码,但我们可以推测其实现需要动态存储输入的行,并根据 n 的值输出最后 n 行。可以使用链表或动态数组来存储行数据,在读取输入时不断更新存储的数据,最后输出所需的行。
2. 函数指针在排序中的应用
2.1 函数指针简介
在C语言中,函数本身不是变量,但可以定义函数指针。函数指针可以被赋值、放入数组、作为参数传递给其他函数或由函数返回。通过修改之前的排序程序,我们可以展示函数指针的应用。当提供可选参数 -n 时,程序将按数值对输入行进行排序,而非按字典序排序。
2.2 排序程序的组成部分
排序通常由三部分组成:
- 比较操作 :确定任意两个对象的顺序
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



