数组传参是我在写快速排序时遇到的基础问题
我提出的问题如下:
解答如下:
void func(int *parr){ ...... } |
void func(int arr[]){ ...... } |
void func(int arr[5]){ ...... } |
在函数内部,arr 会被转换成一个指针变量。
参数传递是一次赋值的过程,赋值也是一个表达式,函数调用时不管传递的是数组名还是数组指针,效果都是一样的,相当于给一个指针变量赋值。
精华解答:
定义时的void quick_sort(int array[],int left,int right);中的形参int array[]隐式转换成了指针;
调用时的quick_sort(array, 0, length-1);的array是给指针变量赋值的过程。