我有一個簡單的指針試用版。C++:指向同一對象的兩個指針共享相同的地址?
k1和k2都是指針並指向j。
我以某種方式期望k1和k2是不同的。但另一方面,如果它們只是代表整數j的地址,它們應該是相同的。
任何人都可以告訴我k1和k2之間有什麼區別嗎?
int j=0, *k1=&j, *k2=&j;
j=2;
std::cout<<"k1 points to "<<*k1 << " and k2 points to "<<*k2 <<std::endl;
std::cout<<" k1 is "<< k1 << " k2 is "<<k2<<std::endl;
return 0;
但結果顯示
k1 points to 2 and k2 points to 2
k1 is 0x7fffffffd6fc k2 is 0x7fffffffd6fc
'std :: cout <<&k1'和'std :: cout <<&k2'會告訴你一些你似乎在尋找的區別。 –
爲什麼從指針開始? 'int x = 42,y = 42;'x和y是否相同? –