arr确实是一个指针的地址,表示的是从这里开始就是存储arr数组的起始位置。
我们假设传入的arr=x,那么函数内部的arr[j]就表示直接访问arr地址+j偏移量的地址,也就是x+j位置的地址,这里存的就是数组对应j位置的数,当然可以直接比较了
数组名本身也是数组的首地址,函数参数也是数组的首地址,所以是可以传递并在函数内访问数组的
数组传入函数,就退化为指针,原因是c语言的指针和数组是一体的
作为变量,编译器可以知道数组长度
作为参数,因为不知道传什么,所以无法知道。
请注意这是编译器的魔法,也就是说遇到指针类型,它会被编译器直接替换为指针。但是并不影响求值