【发布时间】:2022-01-05 00:10:15
【问题描述】:
好吧,不知何故,即使在阅读了很多教科书(真的很多)和互联网上很长一段时间后,我仍然无法完全理解所提到的两者之间的区别。
为了简化问题,假设维基百科的数据类型是:
识别各种类型数据之一的分类,例如实数、整数或布尔值,用于确定该类型的可能值;可以对该类型的值进行的操作;数据的含义;以及该类型值的存储方式。
它主要是一些抽象数据类型的实现,例如实数或整数。
好了,接下来就是数据结构了:
是一种在计算机中组织数据的特殊方式,以便可以有效地使用它。[1][2]数据结构可以实现一种或多种特定的抽象数据类型,它们是指定操作契约及其复杂性的手段。相比之下,数据结构是 ADT 提供的合约的具体实现。
因此,数据结构是 ADT 的实现,例如堆栈或队列。
但这不也使它成为一种数据类型吗??
我真正看到的是,数据类型的范围可以从没有任何结构组织的非常简单的事物到复杂的数据结构,真正重要的是它们是 ADT 的实现,反映了它的重要方面,并且它们可以设想为单个实体,如(列表或树),但数据结构必须至少包含某种逻辑或数学组织才能归类为数据结构,但遗憾的是,这种差异会使许多实体既是数据结构又是数据类型同时进行。
那么简单的plain(数据类型)和a(数据结构)之间的本质区别是什么?
如果有人可以向我推荐一些关于 C 语言数据结构的好书,我很乐意接受指定一本关于该主题的特定书籍的答案,该书籍的深度足以解释所有这些问题。
【问题讨论】:
标签: c data-structures types