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限定为函数语言,而只是评估函数推理对它的适用性。