数组
https://www.bilibili.com/video/BV1hg411V7Bm?p=54
1)数组的概念
数组是由n个数据类型相同的元素所组成的序列。
注意:
- 空间连续,统一划分;
- 元素类型相同,每个元素占用存储单元相同;
- 下标有序,n个元素,下标是0~n-1。
2)一维数组
数组类型 | 存储地址计算 |
---|---|
一维数组 | A[i]的存储地址为:a+i*len
首地址为a,len表示单个元素所占用的存储单元 |
以存放首地址为100,每个元素占用3个存储单元为例
3)二维数组
3*4的二维数组:
行*列
3*4的二维数组,按行存储:
二维数组在内存中也是顺序存储的,计算A22的偏移量时,主要分成两部分
前面两行完整存储下来的空间,还有A22所在的行前面存放的部分元素
抽象后就是:
首地址为A[0][0]的n行m列的二维数组(按行存储)
A[i][j]的偏移量是:(m*i+j)*len
a[i][j]的存储地址:(m*i+j)*len+数组首地址
3*4的二维数组,按列存储: