
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.2 数组寻址
数组中总是包含多个元素,因此,在对数组的单个元素或多个元素进行访问时,需要对数组进行寻址运算。
5.2.1 对一维数组进行寻址
对一维数组进行寻址很简单,因为下标可以写成一个数或一个一维数组,即可寻址得到想要得到的元素,具体可参考下面的示例。
对一维数组的其中一个元素进行访问:

对一维数组的多个元素进行访问:

这里使用另一种方法也可以实现上述功能,具体如下:

一维数组的寻址方式很简单,也便于理解,掌握好一维数组的寻址方式是学习二维数组寻址的基础。
子数组的寻址示例如下:


5.2.2 对二维数组进行寻址
对二维数组进行寻址与对一维数组进行寻址一样,只不过二维数组需要考虑行和列,而一维数组只需要考虑一个行或列,所以对二维数组进行寻址有单下标、全下标和函数寻址这3种方法,其基本思想与一维数组是一样的。
下面举例说明二维数组元素及子数组的各种标识和寻址格式。


基于行和列寻址:

基于行或列寻址:


可以使用sub2ind()函数读取数组中排序凌乱的元素。
使用sub2ind()函数可以将一个二维数组的下标变成索引,然后用索引对二维数组进行寻址,这种操作直接省略前面所说的方法,不但方便简单而且便于理解。具体示例如下:

读取其中的第2行、第2列和第3行、第1列的两个元素,有如下两种方法:第一种方法是使用第二种方法将二维数组变成一维数组,然后读取一维数组中的两个元素;第二种方法是使用sub2ind()函数。(第一种方法在此不做介绍)
使用sub2ind()函数的示例如下:
