值传递是一种单向传递
自定义一个函数,分开看,在自定义函数中可以交换,但在应用时值无法交换。
因为a、b的值传给了自定义函数中的m、n,所以实际操作的是m、n,a和b没有变,m、n在自定义函数中交换成功后,直接释放掉了。
为了解决无法无法交换的问题,引入指针。
地址传递
指针的概念是:一种保存地址的数据类型
所以指针m会存放外部a的地址,指针n会存放外部b的地址
此时交换的是a和b的内存地址
通过指针,将地址传过来,直接访问地址里的值(a和b的值),将他们的值交换过来,
虽然自定义函数内交换后的值已经释放掉了,但a和b的值已经交换过了