请举一个C语言交换两个指针变量的例子
时间: 2023-04-10 15:05:09 浏览: 80
可以使用一个临时变量来交换两个指针变量的值,示例代码如下:
void swap(int **p1, int **p2) {
int *temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a = 1, b = 2;
int *p1 = &a, *p2 = &b;
printf("Before swap: p1=%d, p2=%d\n", *p1, *p2);
swap(&p1, &p2);
printf("After swap: p1=%d, p2=%d\n", *p1, *p2);
return 0;
}
相关问题
c语言交换两个指针变量的值
交换两个指针变量的值需要使用指向指针的指针。具体步骤如下:
```c
void swap(int **p, int **q) {
int *temp; // 定义一个指向指针的指针
temp = *p;
*p = *q;
*q = temp;
}
int main() {
int a = 1, b = 2;
int *p = &a, *q = &b;
printf("交换前:*p=%d, *q=%d\n", *p, *q);
swap(&p, &q);
printf("交换后:*p=%d, *q=%d\n", *p, *q);
return 0;
}
```
在上面的代码中,`swap` 函数的参数是指向指针的指针,传入 `&p` 和 `&q` 的地址即可。在函数内部,定义一个指向指针的指针 `temp`,将 `*p` 的值赋给 `temp`,再将 `*q` 的值赋给 `*p`,最后将 `temp` 的值赋给 `*q`,完成交换操作。
举一个c语言指针的例子
当然,我可以举一个C语言指针的例子。假设我们有一个整数变量 `num`,我们可以通过指针来访问和修改它的值。
```c
#include <stdio.h>
int main() {
int num = 10; // 定义一个整数变量 num,赋值为 10
int *ptr; // 声明一个指向整数的指针 ptr
ptr = # // 将指针 ptr 指向变量 num 的地址
printf("num 的值为:%d\n", num); // 输出 num 的值
printf("ptr 指向的值为:%d\n", *ptr); // 输出指针 ptr 指向的值
*ptr = 20; // 修改指针 ptr 指向的值为 20
printf("修改后的 num 的值为:%d\n", num); // 输出修改后的 num 的值
return 0;
}
```
在上面的示例中,我们声明了一个整数指针 `ptr`,并将其指向变量 `num` 的地址。通过 `*ptr`,我们可以访问和修改 `num` 的值。输出结果如下:
```
num 的值为:10
ptr 指向的值为:10
修改后的 num 的值为:20
```
这就是一个简单的C语言指针的例子。希望能帮到你!如果还有其他问题,请随时提问。