数组与指针
数组是一组相同类型元素的集合
指针变量是一个变量,存放的是地址
这两者之间似乎并没有关系,但是我们知道数组名是数组第一个元素的地址
![](https://i-blog.csdnimg.cn/blog_migrate/d3bd7cf8f26eebb14c9533dcd90da736.png)
我们总是能拿出他们之间的一些联系
int main()
{
int arr=[10]={0};
int* p=arr; // arr是首元素的地址&arr[0],那么我就可以通过指针来访问数组
}
![](https://i-blog.csdnimg.cn/blog_migrate/b2094b65f0b7e37ef699a79668ecae0f.png)
是完全可以对上的,我们为什么讲说数组名是第一个数组元素的地址,其实arr[n]这个语句的实现是这样,*(arr+n),arr是首元素的地址,所以也可以直接这样使用arr[2] 其实等同于,*(arr+2)
所以我们之前讲的数组传参是数组首元素的地址
![](https://i-blog.csdnimg.cn/blog_migrate/4a7daa44c1d9d7966e1dc827f40da60b.png)
道理就是这样了