关于C语言调用函数时数组传参的疑惑

为什么调用函数时,传过去只有数组的首地址(看网课的),既然只是首地址,为什么在函数那里还能比较数组元素,函数那里是怎么得到数组内容的?
img

数组的名称可以理解为一个指针常量,指针指向数组空间的第一个数据的地址。当函数调用的时候是值传递,相当于传入了一个指向数组第一个数据的指针。之后函数里面对数组的访问就和指针访问相同。

举个例子,地址就像一张纸条上写着你家住址一样,只要拿到这个纸条的,都能找到你家在哪里,不需要一定搬着你家房子满地跑

int a[]数组是连续存放,然后a[i]=*(a+i),i代表指针需要移动次数