-4
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的地址才能這樣做?我很難理解此代碼
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的地址才能這樣做?我很難理解此代碼
無關的分歧放在一邊,這
int* d = &b;
只是這個
int* d;
d = &b;
較短的形式之後d
包含b
地址。即d
是b
的地址。 d
沒有「指向地址」b
,它的是的地址b
。
現在*d
相當於b
。你對*d
所做的一切都會發生在b
。
d確實等於b的地址。 – Sneftel
您認爲'int * d =&b;'行有什麼作用? ;) –
@OliCharlesworth我以爲它指向b的地址,所以如果我輸出* d它會給我b的地址。 – Pipsydoodles