数组的底层实现是利用了指针,因此,我们甚至可以大胆的说,其实c/c++里根本不存在什么数组,所谓的数组不过是利用指针玩的小把戏而已
从原理上来讲,指针和数组是同一个方法的不同表达,而数组名本身就是一个指针,数组元素只是这个指针按照一定量偏移后对应的内存区域里的内容。
因此我们尝试一下按照数组的使用方式来使用一下指针,看看发生什么事情
```
int main()
{
int a[5]; //定义一个5个元素数组
int* p{ a}; //数组地址给指针,换句话说数组的底层也是指针
*p = 5;
a[0] = 5;
a[1] = 1000;
a[2] = 2000;
a[3] = 2000;
std::cout <<p[0]; //指针直接可以数组形式来用。
```
