索引表的内部存储结构相对于下标表而言要相对复杂一些。在下标表中,数据的存储位置即下标的数值。而在索引表,数据的存储位置和索引数值往往并不一致,需要计算得到。
对于索引表而言,其中的索引保存的是数据偏移量,而并不是数据实际存储位置。数据的实际存储位置,通过将索引变量除以每个数据的大小得到。
下面以一个公司一周内的营业额为基本模型,讨论索引表的内部存储结构。首先,对该表进行定义及初始化,代码如下。
01 WEEK-SALES-DATA.
05 FILLER PIC 9(5) VALUE ‘15874’.
05 PIC 9(5) VALUE ‘10876’.
05 PIC 9(5) VALUE ‘14586’.
05 PIC 9(5) VALUE ‘13587’.
05 PIC 9(5) VALUE ‘19784’.
05 PIC 9(5) VALUE ‘10030’.
05 PIC 9(5) VALUE ‘10088’.
01 WEEK-SALES-TABLE REDEFINES WEEK-SALES-DATA.
05 SALES PIC 9(5)
OCCURS 7 TIMES
&n

本文详细介绍了COBOL中索引表的内部存储结构,与下标表不同,索引表的索引保存的是数据偏移量而非实际位置。通过示例代码展示了如何计算数据偏移量,并解释了程序员在编程时如何处理这种差异,尽管在程序中索引看起来是数值形式,但实际存储的是偏移量。
最低0.47元/天 解锁文章
2888

被折叠的 条评论
为什么被折叠?



