如果我有以下代码行,为什么ba = 2?
int a[] = {1,2,3,4,5};
int *b = &(a[2]);
为了稍微说明Eugene的答案,a
它是指向数组开头的指针,与a[2]
相同*(a+2)
。
因此,您可以说在&
取消*
引用指针时“取消”了,然后查看了它指向的元素的地址。这样*b = &(a[2]) = &(*(a+2)) = a+2
。因此b-a=2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句