首页 理论教育 C语言教程:二维数组地址详解

C语言教程:二维数组地址详解

时间:2023-10-23 理论教育 版权反馈
【摘要】:图8-8二维数组各元素的地址对于图8-8需要说明的是,a是二维数组名,是二维数组的首地址,即a[0]的地址,其值为2000,而a[0]是第一个一维数组的数组名(首地址),即a[0][0]的地址,其值为2000。用指针表示法输入/输出二维数组中的元素。

C语言教程:二维数组地址详解

前面介绍过,二维数组可以看作是一个特殊的一维数组,此一维数组的每一个元素又是一个一维数组。例如,有一个二维数组定义如下:

int a[3][4];

那么,数组a可被看作一个一维数组,它有3个元素:a[0]、a[1]和a[2]。这3个元素都是长度为4的一维数组,由上一节介绍的内容可知,数组元素a[i]的地址可以表示为a+i。a[i]本身又是一个一维数组,a[i]是此数组的数组名,它有4个元素:a[i][0]、a[i][1]、a[i][2]和a[i][3],如图8-8所示。

数组元素a[i][j]可以表示为“*(数组名+下标)”的形式,即*(a[i]+j),进而可以表示为*(*(a+i)+j)。

数组元素a[i][j]的地址可以表示为“数组名+下标”的形式,即a[i]+j,进而可以表示为*(a+i)+j。

图8-8 二维数组各元素的地址

对于图8-8需要说明的是,a是二维数组名,是二维数组的首地址,即a[0]的地址,其值为2000,而a[0]是第一个一维数组的数组名(首地址),即a[0][0]的地址,其值为2000。也就是说,a的值与a[0]的值相同,都为2000,都表示地址,二者的值虽然相等,但数据类型不同,含义也不同。

【例8-7】用指针表示法输入/输出二维数组中的元素。(www.xing528.com)

例8-7 运行视频

程序运行结果如图8-9所示。

图8-9 例8-7的运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈