函数地址传参最常见的形式就是:
#include stdio.h
int main(){
int i;
int n=6;
int a[6]={7,5,3,4,12,54};
for(i=0;i<n;i++) printf("%d ",a[i]);
printf("\n排序之后\n");
Sort(a,n);
相当于是sort(&a,n);
这里是将数组a的地址传递下去,接下来承接这个地址的函数
就是对这个地址中的值进行操作,所以一般使用这个地址传参
1.是想通过另一个函数比较复杂的操作,来改变本函数中的某一个值
2.因为这种方式用到了两种函数,所以实际上利用了形参和实参
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;}
void Sort(int b[],int n){
相当于是sort(char *b,int n)
这里用指针变量进行接收,相当于下面对b的操作都是对上面的地址中的值进行的操作
所以一般是需要对一个函数的值进行频繁复杂的更改,通过地址传参的方式将这个地址传递下来
另一个函数拿到这个地址,对地址中的值随时进行更改
但是也有的地址传参不是为了拿到地址值,对地址中的值进行更改,而是只是为了拿到这个参数值
int i,j;
int tmp=0;
for(i=0;i<n;i++){
for(j=0;j<n-1-i;j++){
if(b[j]>b[j+1]){
tmp=b[j];
b[j]=b[j+1];
b[j+1]=tmp;