一:数组的类型定义
数组是有类型相同的数据元素的有序集合
二:数组的顺序储存
数组为什么不采用链式存储结构?
1:数据的结构固定(维数和维界不变),也就是说一旦建立了数组,则结构中的数据元素个数和元素之间的关系就不再发生变动
2:数组只有存取和修改元素的操作,一般不做插入和删除元素操作
三:多维数组物理地址寻址:
-
注:r表示数据类型所占字节大小 m是行序,n是列序
二维数组Amn物理地址计算公式:
- 按行序求地址: Loc(aij)= Loc(a11) + ((i-1) *n + (j-1)) *r
- 按列序求地址: Loc(aij)= Loc(a11)+ ((j-1) * m + (i-1)) *r
- 从0号位置开始寻址: 按行寻址: Loc(aij)= Loc(a11) + (i*n +j) *r
推广到一般的二维数组A[c1d1][c2d2]则有
- 按行序求物理地址: Loc(aij)= Loc(ac1c2)+ ((i-c1) * (d2-c2+1) + (j-c2)) *r
- 按列序求物理地址: Loc(aij)= Loc(ac1c2)+