我有一个简单的指针试用版。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是否相同? –