我想编写一个方法,它接受两个指向 int 的指针并更改它们指向的值。像这样的东西:
int main() {
int a = 3;
int b = 1;
change(&a, &b);
return 0;
}
void change(int *a, int *b) {
int t = a;
*a = *b;
*b = *t;
}
我无法理解如何保存 a
的副本并稍后从 b
指向它。
最佳答案
你这样做:
int temp = *a; // remember actual value "a" points to
*a = *b; // copy value "b" points to onto value "a" points to (will overwrite that value, but we have a copy in "temp")
*b = temp; // now copy value "a" originally pointed to onto value "b" points to
关于C:将指针转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058307/