我很难理解这段代码

时间:2014-02-25 22:18:19

标签: c++ pointers

int a = 1;
int b = 2;
int* c = &a;
int* d = &b;
c = d;
*d = 3;
cout << a << " " << b;

很简单,我不知道* d = 3如何使b = 3.我认为d需要等于b的地址才能这样做?

1 个答案:

答案 0 :(得分:1)

除了不相关的差异,这个

int* d = &b;

只是此

的缩写形式
int* d;
d = &b;

之后d包含b的地址。即db的地址。 d没有“指向b的地址”, b的地址。

现在*d相当于b。您对*d所做的一切都将发生在b