prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 2.4

Q如何在 C 语言中实现不透明(抽象)数据类型?


A一种好的方法是让客户端使用结构指针(也许还通过 typedef 隐藏),这些指针指向未公开定义的结构类型。换句话说,客户端在不知道结构字段是什么的情况下,使用结构指针(并调用接受和返回结构指针的函数)。(只要不需要结构体的细节——例如,只要->sizeof运算符不被使用——C 语言非常乐意处理指向不完整类型结构的指针。[脚注] )只有在实现抽象数据类型的源文件中,结构体的完整声明才真正有效。

另请参阅问题 11.5

额外链接

示例

稍微短一点、稍微滑稽一点的例子


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管