数组
| 数组类型 |
存储地址 |
一维数组a[n] |
a[i]的存储地址为:a+i*len |
二维数组a[m][n] |
a[i][j]的存储地址(按行存储)为:a+(i*n+j)*len |
|
a[i][j]的存储地址(按列存储)为:a+(j*m+i)*len |
例:已知5行5列的二维数组a中的各元素占两个字节,求元素a[2][3]按行优先存储地址?
a + (2*5 + 3)*2 = a + 26
矩阵

矩阵可以将答案代入计算
公式:在矩阵a[i][j]中对应的一维数组下标计算公式
上三角矩阵:(2n - i + 1) * i/2 + j
下三角矩阵:(i + 1) * i/2 + j