1.函数:程序的最小单位 2.写一个交换函数

 swap1(int x, int y)       //传值调用                        
    {                                                 
   	 int tmp;                                                
   	 tmp = x;                                           
   	 x = y;                                                
   	 y = tmp;                                               
    }
   swap2(int* x, int* y)  //传址调用
   {
   int tmp;
   tmp = *x;  
   *x = *y;
   *y = tmp;
   }
   int main()
   {
   	int a, b;
   	a = 10;
   	b = 20;
   	swap1(a, b);
   	printf("a=%d, b=%d\n", a, b);  //输出 a=10, b=20
   	swap2(&a, &b);
   	printf("a=%d, b=%d\n", a, b); //输出  a=20, b=10
   }

//swap1中形参x和y在调用函数时只是实参a和b的一份临时拷贝,它有自己的地址,故不能改变外部变量a和b的值,达不到交换a和b的作用 //swap2是传址调用,把a和b变量的地址传给函数swap2,在swap2函数中操作时直接改变了a和b变量所在地址的值,从而达到交换a和b的值的作用 形参:即自定义函数中括号内需要的参数,它可以是常量、变量、表达式或函数,但必须是 一个确定的值,形参在函数调用的时候才会为其分配内存,在调用结束后销毁内存。 实参:即函数中实际的值,如上述函数中a和b就是实参。