用数组在C中进行指针减法

mathisfun1234

如果我有以下代码行,为什么ba = 2?

int a[] = {1,2,3,4,5}; 
int *b = &(a[2]); 
阿萨夫·比亚韦斯托克(Asaf Bialystok)

为了稍微说明Eugene的答案,a它是指向数组开头的指针,与a[2]相同*(a+2)

因此,您可以说在&取消*引用指针时“取消”了,然后查看了它指向的元素的地址。这样*b = &(a[2]) = &(*(a+2)) = a+2因此b-a=2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章