# pipecode **Repository Path**: hzc1998/pipecode ## Basic Information - **Project Name**: pipecode - **Description**: pipe code 是管道式函数编程的意思,也就是说,对于传统的函数之间的调用关系进行一定调整,让多个函数之间的调用关系看起来像一条管道。快来探索其中的奥秘吧! - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-19 - **Last Updated**: 2021-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 管道式函数编程 函数之间的调用联系像一个**管道**一样,因此叫做管道式函数编程 当有函数之间的调用时,可以考虑这种方式。 特别是某些函数成对出现的时候,例如`malloc/free`,`fopen/fclose`这种函数, 如果忘记调用另外一个,就容易出现一些泄漏。而用管道式编程,那么,在同一行就 进行成对的编写,就不容易出现**漏写**的情况了。 基本规则如下: ``` 结束函数(中间函数(开始函数)) ``` 例如: ```c free(deal_buf(malloc(n))); ``` 注意,`deal_buf`的返回值需要是它的参数,这样`malloc`和`free`才能正确连接。 也因为这样的特性,把这种方式成为管道式编程。 当然,对于不是成对的函数,也可以这样使用,只要他们存在上下联系。 例如: ```c print_array(sort_array(build_array(n))); ``` 这样编写,也使得做一些事情的逻辑变得比较清晰。 并且,**中间函数**可以有多个,只要能够让**开始函数**和**结束函数**连接起来就行了! 例如: ```c print_array(sort_array(clean_array(build_array(n)))); ``` 更多详情,请参考examples。