数组名有两个属性
一,数组元素的类型
二,数组元素的个数(数组的大小)
其中,在sizeof语句中,数组名是代表整个数组的意义
除了sizeof语句外,其他语句中出现的数组名都代表的是数组首元素的地址,即作为指针使用。
输出数组第i+1个元素,有两种方式:
假如定义了数组名为ar,定义了数组指针p,
一、使用下标方式表示:ar[ i ]或者p[ i ] (系统会自动将p[ i ]转换成指针方式*(p+i))
二、使用指针方式表示:*(ar+i)或者 *(p+i)。
其中,ar+i 或者 p+i 是输出数组元素的地址。
i [ ar ]等同于ar [ i ],都是以*(ar+i)的方式访问数组第n个元素。
int *p=&ar [0] 与
int *p=ar 是等价的。
因为&ar[0]等价于&*(ar+0),表示ar数组第零个元素的地址,而ar本身就代表ar数组的第零个元素的地址,所以int *p=&ar [0] 与int *p=ar 是等价的。