C语言用指针传递数据

来源:这里教程网 时间:2026-02-16 13:47:05 作者:

用指针来传递数据的一个主要原因是函数可以修改数据。下面的代码段实现了一个交换函数,可以交换其参数所引用的值。这是很多排序算法中的常用操作。我们在这里用整数指针,通过解引它们来实现交换。

void swapWithPointers(int* pnum1, int* pnum2) {    int tmp;    tmp = *pnum1;    *pnum1 = *pnum2;    *pnum2 = tmp;}

下面的代码段说明了这个函数的用法:

int main() {    int n1 = 5;    int n2 = 10;    swapWithPointers(&n1, &n2);    return 0;}

指针pnum1和pnum2在交换操作中被解引,结果是修改了n1和n2的值。图3-3说明了内存如何组织,左图表示swap函数开始时程序栈的状态,而右图则是函数返回前的状态。

相关推荐