返回介绍

6.4 有一个起始地址的连续区域 思路下的两种数据类型

发布于 2024-12-15 23:01:46 字数 1304 浏览 0 评论 0 收藏

数组(array type) 指的是包括 某种相同数据 (数组元素的类型相同)的连续空间 9 ,它是 顺序地址存储 这一概念的自然延伸 10 。首先我们认为 Byte、Word 等基础数据类型是受位宽限制的顺序地址存储,当我们把位宽限制这一条件去掉——或通过长度值来指定连续区域的大小——之后,就得到了数组的概念。由于它自然延伸了(但未改变) 顺序地址存储 的概念,因此它也可以作用于上述这些基础类型。例如:

  • DWORD,等义于长度为 4 的字节数组;
  • BYTE,等义于长度为 8 的位数组;
  • INT64,等义于长度为 64 的位数组,或长度为 8 的字节数组,或……

基于此,我们也可以用数组这一概念来统一所有的基础类型,这最终可以将任何数据理解为 位数组 (bit array)。当然,需要强调,这里的数组是指一个连续空间中的数组,否则就与我们此前的抽象不一致了。

然而,我们留意上述的“某种相同数据”这一抽象限制条件,也就意味着,我们必然会面临“连续空间中包含 某几种不同数据 ”的需求。我们做出这一“必然”判断的原因,是我们的需求总是问题的全集而非某个部分(所谓可能出现的,必将出现)。因此对问题的某一个分类中的所有可能性施以数据抽象,则它必然可以表达问题的全集,以及满足其背后的全部需求。推论上述逻辑:

  • 设定:在连续空间(S)中,要么包含同一种数据(m),要么包含不同种数据(n);
  • 如果存有混杂,则可以将它分解为多个连续的连续空间(Si),使(Si) 符合上述设定;
  • 如上,总是可以用mn来表示所有数据,并保持它们在空间上的连续性,亦即是S

结构体(struct type) 指的就是包括 某几种不同数据 的连续空间 11 。这一概念是对数组的补充,他们一起构成了“用基础数据类型”来复合其他类型的全部可能性。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。