用指针来传递数据的一个主要原因是函数可以修改数据。下面的代码段实现了一个交换函数,可以交换其参数所引用的值。这是很多排序算法中的常用操作。我们在这里用整数指针,通过解引它们来实现交换。
下面的代码段说明了这个函数的用法:
指针pnum1
和pnum2
在交换操作中被解引,结果是修改了n1
和n2
的值。图3-3说明了内存如何组织,左图表示swap
函数开始时程序栈的状态,而右图则是函数返回前的状态。
用指针来传递数据的一个主要原因是函数可以修改数据。下面的代码段实现了一个交换函数,可以交换其参数所引用的值。这是很多排序算法中的常用操作。我们在这里用整数指针,通过解引它们来实现交换。
下面的代码段说明了这个函数的用法:
指针pnum1
和pnum2
在交换操作中被解引,结果是修改了n1
和n2
的值。图3-3说明了内存如何组织,左图表示swap
函数开始时程序栈的状态,而右图则是函数返回前的状态。