5.3特殊矩阵的压缩存储.ppt
第5章 数组和串 ;5.1 数 组 ?; 在定义动态数组时也必须给出数组个数,系统在用户使用new函数申请时为用户分配存储空间。无论是静态数组还是动态数组,系统都是分配一块地址连续的存储空间给用户。C++中的数组下标均从0开始。
C++提供的数组的操作主要有存储和提取。当数组操作符[]处于赋值号左边时表示数组的存储操作,当它处于赋值号右边时表示数组的提取操作。例如, 我们定义有一个数组a,a[i] = a[i+1]就表示把数组元素a[i+1]中的数值提取出来并存储到数组元素a[i]中。
; 对一个有n个数据元素的一维数组,设a0是下标为0的数组元素,Loc(a0)是a0的存储地址,k是每个数据元素所需的存储单元,则数组中任一数据元素ai的存储地址Loc(ai)可由下边公式求出:
Loc(ai) = Loc(a0) + i * k (0≤in) (5―1)
对一个m行n列的二维数组,由于计算机的存储单元都是一维的,就有一个二维向一维的映射问题,用计算机的术语叫做行主序还是列主序存放的问题。 ; C++中的数组元素是行主序的存放方法,即一行存完后再存放下一行。设a00是行列下标均为0的数组元素,Loc(a00)
原创力文档

文档评论(0)