数组的定义
数组(Arrays)是由一组类型相同的数据元素构造而成的它的每个元素由一个值和一组下标确定
二维数组Ann…nm的每个元素aii…im都属于m个向量最多可以有m个直接前趋和m个直接后继
数组的顺序存储结构
数组的顺序存储结构指的是用一组连续的存储单元依次存放数组元素
行优先顺序
行优先顺序将数组元素按行向量排列第i+个行向量紧接在第i个行向量后面
行优先顺序规定为先排最右的下标从右向左最后排最左下标
列优先顺序
列优先顺序将数组元素按列向量排列第j+个列向量紧接在第j个列向量之后
列优先顺序规定为先排最左下标从左向右最后排最右下标
二维数组Amn按行优先顺序存储在内存中假设每个元素占d个存储单元则aij的地址计算函数为LOC(aij)=LOC(a)+[(i)×n+j]×d
对应C语言的二维数组DataType A[m][n];
数组A[m][n]的两个下标的下界均为上界分别为mn每个数据元素占k个存储单元二维数组中任一元素a[ij]的存储位置可由下列公式确定
loc[ij]=loc[]+( n * i + j ) * k
其中loc[]是A[][]的存储位置它是该二维数组的起始地址loc[ij]是A[i][j]的存储位置这个式子确定了C语言的二维数组元素的位置和下标的关系