是否可以交换两个变量的地址?

2023-12-12

我知道可以像这样交换两个变量的值

#include <stdio.h>

void swap(int *x, int *y);
int main(){
    int x=5,y=10;
    swap(&x, &y);
    printf("x: %d, y: %d\n", x, y);
    return 0;
}

void swap(int *x, int *y){ 
    int temp;
    temp=*x;
    *x=*y;
    *y=temp;
}

但是可以交换这两个变量的地址吗?我的意思并不是仅仅创建一个指向它们的指针,然后交换指针所保存的值,我的意思是实际上交换两者,这样在交换函数之后,x的地址现在就是交换函数之前的y地址,并且反之亦然。

如果这是一个愚蠢的问题,我深表歉意,但我很好奇这样的事情是否可能。如果这种行为不可能,为什么?


不,那不可能。您无法选择变量的地址,也无法修改它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以交换两个变量的地址? 的相关文章

随机推荐