交换两个整数的值
void swap(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
printf("形参:a=%d,b=%d\n,a,b);
}(不可行,作用域仅限于大括号内)
指针作为函数参数传递
void swapPlus(intpa,intpb)
{
int temp;
*pa=*pb;
*pb=temp;
}
函数在传递参数的时候:传递的都是一份拷贝
传值调用:传递的是一份拷贝,实参复制给形参
传址调用:传递的是地址,拷贝一份地址,都是占用四个字节,可通过指针间接访问修改实参
传地址好处:
1.提高效率
2.可以对实参进行修改
void show(double n)
{
printf (“数值:%lf\n”,n);
}
有什么好处
复制讲究速度:越快越好,所占内存越小越好
double d=45.6;
show(d);
int main()
{
int a=10,b=20;
printf(“a=%d,b=%d\n”,a,b);
swap(a,b);形参和实参
printf(“a=%d,b=%d\n”,a,b);
swaPlus(&a,&b);
printf(“a=%d,b=%d\n”,a,b);
return 0;
}
}