交换函数

void swap(int x; int y)//void函数指无返回值的函数类型,无返回值;

{int tmp =0;

tmp =x;

x=y;

y=tmp;}

int a=10,b=20;//此时调用swap函数后打印出的a,b并不会交换,因为函数中x,y只是付得了a,b的值,但自己有独立的地址所以xy与ab没有关系;要改变a,b就需要通过*a,*b利用地址找到a,b而改变,“*”解引用操作符

即void swap(int* pa;int* pb)   //接收的是地址,所以要使用指针变量int*;

{int tmp =0;

tmp=*pa;

*pa=*pb;

*pb =tmp}

int a,b;

swap(*a,*b)

实参---传给函数的参数,可以是常量,变量,表达式,函数

如int max(a,b)--变量;max(100,200)--常量;max(300,100+1)--表达式;max(100,max(100,200))--函数

形参---函数定义时后面的变量--只有在调用函数时形参才分配内存,调用完后自动销毁;

总结:当实参传给形参时本质上是形参只是实参值的拷贝,对于形参的修改是不会影响实参的