用指针变量作为函数参数可以将函数外部的地址传递到函数内部,使得函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。
有些初学者会使用下面的方法交换两个变量的值:
void swap(int a, int b) { int temp; //临时变量 temp = a; a = b; b = temp; } void main() { int a=11, b=99; swap(a, b); }
其结果是a、b的值并没有发生改变,交换失败。这是因为swap函数内部的a、b和main函数内部的a、b是不同的变量,占用不同的内存。正确做法是使用指针变量参数。
void swap(int *a, int*b) { int temp; temp = *a; *a=*b; *b=temp; } void main() { int a=11, b=99; swap(&a,&b); }
原文:https://www.cnblogs.com/Mike2019/p/11809239.html