1、继承
把父类数据结构放在子数据结构的首位置,方便以后数据访问和数据的强转
struct parent{
int info;
};
struct child {
struct parent *parent;
int data;
};
2、封装
C语言结构体封装函数指针
struct device {
int value;
void (*func) pfFunc(struct device *dev);
};
3、多态
1)使用void * 可传递任意参数
struct device {
void *data;
void (*set_device)(struct device * dev);
};
2)函数指针,根据函数指针注册与否,来执行相应操作
struct device *dev
if (!dev->pfFunc)
// do something