例如图中的数组arr传递给函数接受时(就是图中两条红线指向那里),为什么函数那里是用一个数组在接收呢?我在b站看的视频,说的是,数组传过去只是传了首元素地址。
一个数组变量和一个数组首元素的指针几乎没有区别,唯一的区别在于指针不会保存数组的长度信息。
void test(int arr[])和void test(int arr[10])都能传参数过去,但是这两种传的方式是不同的。
第一种是把数组的首地址传过去了,和void test(int * arr)效果一样
第二种是把整个数组复制一份放在栈里面把整个数组传过去了