C中抽象数据类型的这种应用是否等同于函数式编程?
使用以下代码C中抽象数据类型的这种应用是否等同于函数式编程?,c,design-patterns,functional-programming,C,Design Patterns,Functional Programming,使用以下代码 typedef结构客户*CustomerPtr; typedef结构订单*OrderPtr; CustomerPtr createCustomer(常量字符*名称,常量地址*地址); 作废客户(CustomerPtr客户); 作废下单(常量客户、常量订单、常量订单); placeOrder功能仅取决于输入参数,如果Customer和Order没有副作用,则它似乎是一个纯功能 根据观察,我有以下两个问题: 这真的和函数式编程一样吗 如果是,那么函数式编程中是否有任何模式可以以这种
typedef结构客户*CustomerPtr;
typedef结构订单*OrderPtr;
CustomerPtr createCustomer(常量字符*名称,常量地址*地址);
作废客户(CustomerPtr客户);
作废下单(常量客户、常量订单、常量订单);
placeOrder
功能仅取决于输入参数,如果Customer
和Order
没有副作用,则它似乎是一个纯功能
根据观察,我有以下两个问题:
我希望避免使用函数指针进行函数组合,因为这会让代码感觉非常不可读
Adam Tornhill关于的文章中引用的代码函数式编程的一个标志是使用高阶函数。C不支持一级高阶函数(至少不是没有大量的跑腿工作)。@Dai它仍然可以有一个范例的子集,我绝不试图将C限定为函数语言,而只是评估函数推理对它的适用性。