数组与指针间的关系

数组在内存中就指一段连续的内存,但C++提供了一种快捷表示,定义数组名可以等价于该数组的首地址。

int? a[5] = {0};? 定义整型数组,获取首地址可以有两个写法了,取址符:&a[0],?? 数组名: a

指针就是指向某个数据的地址,当然也可以指向数组的首地址,

int *p = a;

另外就是指针可以做加减运算,例如:

p+1?? 就相当于指向了 a[1]

p+2?? 就相当于指向了 a[2]

p+5?? 就相当于指向了 a[5]

这样要访问数组,可以用下标,也可以用指针。