作为初学者学习指针,我写了一些类似的东西
int i = 1,
j = 2,
k;
k &= i;
i = 3;
期望k
指向i
,然而,我很快发现错误是k
不是int
指针,只是一个 int
。但它编译并运行为什么?
最佳答案
k &= i;
是
的缩写形式k = k & i;
其中 &
是按位的 and
。它与指针无关。
如果你想让k
指向i
,你需要让它成为一个指针:
// v
int* k;
然后他们让它指向i
:
k = &i; // NOTE: different from k &= i;
关于c++ - 在 i, k 中实际发生了什么; k &= i;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936465/