7、指针和函数.cpp 701 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <iostream>
  2. //利用指针作函数参数,可以修改实参的值
  3. //实现两个数字进行交换的代码
  4. #if(0)
  5. void swap01(int a, int b)
  6. {
  7. int temp = a;
  8. a = b;
  9. b = temp;
  10. std::cout << "swap01 a =" << a << std::endl;
  11. std::cout << "swap01 b =" << b << std::endl;
  12. }
  13. void swap02(int* p1, int* p2)
  14. {
  15. int temp = *p1;
  16. *p1 = *p2;
  17. *p2 = temp;
  18. }
  19. int main()
  20. {
  21. //1、值传递
  22. int a = 10;
  23. int b = 20;
  24. swap01(a, b);
  25. std::cout << "a = " << a << std::endl;
  26. std::cout << "b = " << b << std::endl;
  27. //2、地址传递
  28. //如果地址传递可以修饰实参
  29. swap02(&a, &b);
  30. system("pause");
  31. return 0;
  32. }
  33. #endif
  34. //总结:如果不想修改实参,就用值传递,如果想修改实参,就用地址传递。