了解一下, 什么是数组呢?
🎊🎊🎊概述:
🔻🔻🔻🔻🔻数组:是一组具有相同数据类型的数据元素的集合。数组元素按某种次序存储在一个地址连续的内存单元空间中。
🔻🔻🔻🔻🔻一维数组:一个顺序存储结构的线性表。[a0,a1,a2, ....]
🔻🔻🔻🔻🔻二维数组:数组元素是一维数组的数组。[ [] , [] , [] ] 。二维数组又称为矩阵。
🎊🎊🎊数组的顺序存储(一维):
🔺🔺🔺🔺🔺多维数组中,存在两种存储方式:
🔫🔫🔫 以行序为主序列的存储方式(行优先存储)。大部分程序都是按照行序进行存储的。
🔫🔫🔫 以列序为主序列的存储方式(列优先存储) 。
🔺🔺🔺🔺🔺一维数组内存地址 :
🔫🔫🔫 Loc(0) :数组的首地址。
🔫🔫🔫 i : 第 i 个元素。
🔫🔫🔫 L :每一个数据元素占用字节数。
例:求A[6] 的内存地址:
🎊🎊🎊数组的顺序存储(二维)
🏄🏄🏄🏄 行序:
🍀🍀🍀 行序:使用内存中一维空间(一片连续的存储空间),以行的方式存放二维数组。先存放第一行,在存放第二行,依次类推存放所有行。
🍀🍀🍀 二维数组(n×m)内存地址(以==行序==为主序列) :
🔹🔹🔹 Loc(0,0) :二维数组的首地址。
🔹🔹🔹 i : 第i个元素。
🔹🔹🔹 L : 每一个数据元素占用字节数。
🔹🔹🔹 m:矩阵中的列数。
🔹🔹🔹 n:矩阵中的行数。
注意:
如果索引号不是从0开始,不能使用此公式。
如果索引号不是从0开始的,需要先将索引号归零,再使用公式。
🏄🏄🏄🏄 列序:
🎃🎃🎃 列序:使用内存中一维空间(一片连续的存储空间),以列的方式存放二维数组。先存放第一列,再存放第二列,依次类推,存放所有列。
🎃🎃🎃 二维数组(n×m)内存地址(以==列序==为主序列):
🏄🏄🏄🏄 小试牛刀:
1、有一个二维数组A[1..6,0..7],每一个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组占用的存储空间大小是( )个字节。
A. 48
B. 96
C. 252
D. 288
2、设有数组A[1..8,1..10],数组的每个元素占3字节,数组从内存首地址BA开始以==列序==为主顺序存放,则数组元素A[5,8]的存储首地址为( )。
A. BA + 141
B. BA + 180
C. BA + 222
D. BA + 225
3、设有数组A[0..8,1..10],数组的每个元素占5字节,数组从内存首地址BA开始以==列序==为主顺序存放,则数组元素A[7,8]的存储首地址为( BA + 350 )。
💙 💜 ❤️ 💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚
🚓 🚗 🚗 🚕 🚖 呼啦呼啦!呼啦呼啦!🚓 🚗 🚗 🚕 🚖