1.下标表示法
元素:数组名[下标] 地址:&数组名[下标]
int a[5];
那么数组a的5个元素分别为a[0], a[1], a[2], a[3], a[4],对应的地址分别为&a[0], &a[1], &a[2], &a[3], &a[4]。
2.地址表示法
元素:*(a+i) 地址:a+i
一个数组的数组名可以用来表示这个数组的起始地址,即第一个元素的地址。
int a[5];
那么数组a的5个元素分别为*(a+0), *(a+1), *(a+2), *(a+3), *(a+4),对应的地址分别为(a+0),
(a+1), (a+2), (a+3), (a+4)。
注意:将(a+i)看作a[i]的地址,是为了便于代码书写。但在实际的内存中,系统按照如下公式计 算a[i]的地址:
a + i * sizeof(类型符)
3.指针表示法
元素:*(p+i) 地址:p[i]
int a[5], *p = a;
那么数组的5个元素分别为*(p+0), *(p+1), *(p+2), *(p+3), *(p+4),或者p[0], p[1], p[2], p[3], p[4]。对应地址分别为p, p + 1, p + 2, p + 3, p + 4。