读《C语言接口与实现》一书过程中的代码实验，添加了测试和一些说明，并抽象出可用的模块