现在的位置: 首页 > 综合 > 正文

关于数组与数组名

2013年01月05日 ⁄ 综合 ⁄ 共 419字 ⁄ 字号 评论关闭

<!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]-->

一维数组名和一维数组名前加取地址符“& ”均表示一维数组的首地址。例如:

A  a[10];

a;// 表示数组的首地址

&a;// 同样表示数组的首地址

这两种表示方法的区别在于,数组名a 类似于数组元素的指针,即A *
a 表示数组元素a[0] 的地址,a+1 表示数组元素a[1] 的地址,a+1a 的差值是一个数组元素所占的字节数(sizeof(A)
)。数组名前加取地址符&a ,类似于数组的指针,即A(*)[10]&a+1&a 的差值是整个数组占的字节数(sizeof(A)*10 )。

如果把n 维数组理解为由n-1 维数组作为数组元素的一维数组,便很容易得到n 维数组名前加取地址符“&
”后的数据类型。例如:

A  b[10][20];

数组名b 近似A(*)[20] (一维数组的指针),数组名前加取地址符&b 近似A(*)[10][20]
(二维数组的指针)。

抱歉!评论已关闭.