C语言: 通过指针交换变量的值
C语言: 通过指针交换变量的值
在C语言中,如果想要通过函数交换两个变量的值,需要使用指针。这是因为C语言函数参数传递是值传递,直接传递变量的值无法改变原变量。
以下代码演示了如何使用指针来交换两个变量的值:c#include <stdio.h>
void exchange(int *a, int *b) { int c;
c = *a; *a = *b; *b = c;}
int main() { int x = 3, y = 4; printf('Before exchanging: %d, %d ', x, y);
exchange(&x, &y);
printf('After exchanging: %d, %d
', x, y);
return 0;}
代码解释:
exchange函数: - 接受两个int类型的指针*a和*b作为参数。 - 使用临时变量c存储*a指向的值。 - 将*b指向的值赋给*a。 - 将c的值赋给*b。2.main函数: - 定义两个int类型的变量x和y,并分别初始化为 3 和 4。 - 调用printf函数打印交换前的x和y的值。 - 调用exchange函数,并将x和y的地址作为参数传递。 - 再次调用printf函数打印交换后的x和y的值。
关键点:
- 通过将变量的地址传递给函数,函数内部可以使用指针访问和修改变量的值。-
*运算符用于解引用指针,即获取指针指向的内存地址中存储的值。-&运算符用于获取变量的地址。
希望这个例子能帮助你理解如何在C语言中使用指针交换变量的值。
原文地址: https://www.cveoy.top/t/topic/dhu8 著作权归作者所有。请勿转载和采集!