*(a + 2) 和 a[1] 有什么关系?

0 c arrays pointers

我们有变量a,即类型char*,将chars存储在数组中。*(a + 2)和如何a[1]相关?

a[1]指向数组中的第二个元素,并*(a + 2)指向 指向的元素之后的第二个元素a。那么这两者的值会相同吗?

dbu*_*ush 6

这些是一样的。

语法E1[E2]完全等同于*((E1) + (E2)). 所以*(a + 2)是一样的a[2]。现在应该清楚,这与a[1].