函数指针 + 结构体 = C 语言的“对象模型”
一、为什么 C 语言需要“对象模型”?
在 C 语言里,只有两种基本东西:
✅ 数据(变量 / struct)
✅ 函数(全局函数)
它没有:
- class
- method
- interface
- virtual
- 多态
但系统软件(操作系统、虚拟机、驱动、中间件)必须要有:
- 抽象接口
- 模块解耦
- 运行时替换实现
- 多态调用
于是,C 语言世界里诞生了一种“约定俗成”的结构:
👉struct(保存状态) + 函数指针(保存行为)
这套组合,就是 C 语言的“对象模型”。
