用C++处理指针

Dealing with Pointers in C++

本文关键字:指针 处理 C++      更新时间:2023-10-16

在下面的代码中,我很难弄清楚如何使b指向c,这样,如果您更改b指向的值,c就会更改(而不是a)。我试过int *b = &c;。因此,我的问题最终是:如何在不改变前者价值的情况下,指向指向另一个价值

#include <iostream>
int main(){
int a = 8;
int c = 12;
//std::cout<< a<< std::endl;
std::cout << &a << std::endl;
int *b = &a;
std::cout << *b << std::endl;
std::cout << b << std::endl;
std::cout << b+1 << std::endl;
a = 6;
std::cout << *b << std::endl;
b = &c; // just edited this now it works. 
//std::cout << c << std::endl;
    system("pause");
    return 0;
}

只需取c的地址并将其分配给b:

b = &c;

现在,如果取消引用b,使用*b,则得到由c表示的对象。如果在中修改此对象,则不会影响a的值。