合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
数组的底层实现是利用了指针,因此,我们甚至可以大胆的说,其实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]; //指针直接可以数组形式来用。 ``` ![](https://img.kancloud.cn/c2/8e/c28e285f7712c6e4efc0be147ecbacf4_1381x872.png)