1. 形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传送的参数. 
  2. 实参:全称为"实际参数"是在调用时传递个该函数的参数. 
  3.  
  4. 形参和实参的类型必须要一致,或者要符合隐含转换规则, 
  5. 当形参和实参不是指针类型时,在该函数运行时,形参和实 
  6. 参是不同的变量,他们在内存中位于不同的位置,形参将实 
  7. 参的内容复制一份,在该函数运行结束的时候形参被释放, 
  8. 而实参内容不会改变. 
  9.  
  10. 而如果函数的参数是指针类型变量,在调用该函数的过程 
  11. 中,传个函数的是实参的地址,在函数体内部使用的也是 
  12. 实参的地址,即使用的就是实参本身.所以在函数体内部 
  13. 可以改变实参的值. 
  14.  
  15. 写一个交换a,b值的函数。 
  16. 按值(C++): 
  17.  
  18. 函数声明:   swap(x,y){.....} 
  19. 函数调用:    int a=5;int b=6; 
  20. swap(a,b) 
  21. 注:把a和b的值分别传给x,y。其实a,b本身的值并没有改变,a,b并没有交换成功,要交换两个数的值不能使用按值传递。 
  22. cout<<a;    //a=5 
  23. cout<<a;    //b=6 
  24.  
  25. 引用(C++): 
  26. 函数声明:   swap(&x,&y){.....} 
  27. 函数调用:    int a=5;int b=6; 
  28. swap(a,b) 
  29. 注:把a和b的值分别传给x,y。其实a,b本身的值并没有改变。 
  30. cout<<a;    //a=6 
  31. cout<<a;    //b=5 
  32.  
  33. 指针(C++): 
  34. 函数声明:   swap(*x,*y){.....} 
  35. 函数调用:    int *a=5;int *b=6; 
  36. swap(a,b) 
  37. 注:把a和b的值分别传给x,y。其实a,b本身的值并没有改变。 
  38. cout<<a;    //a=6 
  39. cout<<a;    //b=5